]> Cypherpunks repositories - gostls13.git/commitdiff
net: handle more error strings in lookupCNAME on Plan 9
authorDavid du Colombier <0intro@gmail.com>
Sun, 2 Jun 2024 20:06:38 +0000 (22:06 +0200)
committerDavid du Colombier <0intro@gmail.com>
Tue, 4 Jun 2024 17:08:38 +0000 (17:08 +0000)
On Plan 9, the queryDNS function could return an
error string, which was not handled in lookupCNAME.

This change fixes lookupCNAME by handling the
"resource does not exist; negrcode" error string.

Fixes #67776.

Change-Id: I73f3286b9524a504212ba4303606a245b4962b1f
Reviewed-on: https://go-review.googlesource.com/c/go/+/589715
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: David du Colombier <0intro@gmail.com>
TryBot-Bypass: David du Colombier <0intro@gmail.com>
Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/net/lookup_plan9.go

index 5c869374f6fd5d6575553957f8c7952c35aa4865..e3e371611f44651998035c1fee318d989f0d6af1 100644 (file)
@@ -257,7 +257,9 @@ func (r *Resolver) lookupCNAME(ctx context.Context, name string) (cname string,
 
        lines, err := queryDNS(ctx, name, "cname")
        if err != nil {
-               if stringslite.HasSuffix(err.Error(), "dns failure") || stringslite.HasSuffix(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") ||
+                       stringslite.HasSuffix(err.Error(), "resource does not exist; negrcode") {
                        return absDomainName(name), nil
                }
                return "", handlePlan9DNSError(err, cname)