From bfcae9561d1e046b95dc6142374b1ec4d344784c Mon Sep 17 00:00:00 2001 From: wesky2012 Date: Tue, 19 Nov 2024 00:23:17 +0800 Subject: [PATCH] When a fixed IP is used and the hostname is invalid, no exception is thrown. --- fastdialer/dialer_private.go | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/fastdialer/dialer_private.go b/fastdialer/dialer_private.go index 7fd4668..eaa00cf 100644 --- a/fastdialer/dialer_private.go +++ b/fastdialer/dialer_private.go @@ -105,22 +105,22 @@ func (d *Dialer) dial(ctx context.Context, opts *dialOptions) (conn net.Conn, er // check if data is in cache hostname = asAscii(hostname) - data, err := d.GetDNSData(hostname) - if err != nil { - // otherwise attempt to retrieve it - data, err = d.dnsclient.Resolve(hostname) - } - if data == nil { - return nil, ResolveHostError - } - if err != nil || len(data.A)+len(data.AAAA) == 0 { - return nil, NoAddressFoundError - } // use fixed ip as first if fixedIP != "" { IPS = append(IPS, fixedIP) } else { + data, err := d.GetDNSData(hostname) + if err != nil { + // otherwise attempt to retrieve it + data, err = d.dnsclient.Resolve(hostname) + } + if data == nil { + return nil, ResolveHostError + } + if err != nil || len(data.A)+len(data.AAAA) == 0 { + return nil, NoAddressFoundError + } IPS = append(IPS, append(data.A, data.AAAA...)...) }