diff options
Diffstat (limited to 'src/net/lookup_plan9.go')
-rw-r--r-- | src/net/lookup_plan9.go | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/src/net/lookup_plan9.go b/src/net/lookup_plan9.go index 2532a0e967..5c869374f6 100644 --- a/src/net/lookup_plan9.go +++ b/src/net/lookup_plan9.go @@ -9,6 +9,7 @@ import ( "errors" "internal/bytealg" "internal/itoa" + "internal/stringslite" "io" "os" ) @@ -107,19 +108,13 @@ func queryDNS(ctx context.Context, addr string, typ string) (res []string, err e } func handlePlan9DNSError(err error, name string) error { - if stringsHasSuffix(err.Error(), "dns: name does not exist") || - stringsHasSuffix(err.Error(), "dns: resource does not exist; negrcode 0") || - stringsHasSuffix(err.Error(), "dns: resource does not exist; negrcode") { - return &DNSError{ - Err: errNoSuchHost.Error(), - Name: name, - IsNotFound: true, - } - } - return &DNSError{ - Err: err.Error(), - Name: name, + if stringslite.HasSuffix(err.Error(), "dns: name does not exist") || + stringslite.HasSuffix(err.Error(), "dns: resource does not exist; negrcode 0") || + stringslite.HasSuffix(err.Error(), "dns: resource does not exist; negrcode") || + stringslite.HasSuffix(err.Error(), "dns failure") { + err = errNoSuchHost } + return newDNSError(err, name, "") } // toLower returns a lower-case version of in. Restricting us to @@ -169,10 +164,7 @@ func (*Resolver) lookupHost(ctx context.Context, host string) (addrs []string, e // host names in local network (e.g. from /lib/ndb/local) lines, err := queryCS(ctx, "net", host, "1") if err != nil { - if stringsHasSuffix(err.Error(), "dns failure") { - err = errNoSuchHost - } - return nil, newDNSError(err, host, "") + return nil, handlePlan9DNSError(err, host) } loop: for _, line := range lines { @@ -236,7 +228,7 @@ func (r *Resolver) lookupPort(ctx context.Context, network, service string) (por func (*Resolver) lookupPortWithNetwork(ctx context.Context, network, errNetwork, service string) (port int, err error) { lines, err := queryCS(ctx, network, "127.0.0.1", toLower(service)) if err != nil { - if stringsHasSuffix(err.Error(), "can't translate service") { + if stringslite.HasSuffix(err.Error(), "can't translate service") { return 0, &DNSError{Err: "unknown port", Name: errNetwork + "/" + service, IsNotFound: true} } return @@ -265,7 +257,7 @@ func (r *Resolver) lookupCNAME(ctx context.Context, name string) (cname string, lines, err := queryDNS(ctx, name, "cname") if err != nil { - if stringsHasSuffix(err.Error(), "dns failure") || stringsHasSuffix(err.Error(), "resource does not exist; negrcode 0") { + if stringslite.HasSuffix(err.Error(), "dns failure") || stringslite.HasSuffix(err.Error(), "resource does not exist; negrcode 0") { return absDomainName(name), nil } return "", handlePlan9DNSError(err, cname) |