aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid du Colombier <0intro@gmail.com>2016-12-20 22:33:06 +0100
committerDavid du Colombier <0intro@gmail.com>2016-12-20 23:25:43 +0000
commit985a574991207a74ab45ce76ecf54228734ddffe (patch)
tree8872f8ab4a2cf7f670ed178cdfec078bbaae245d
parent6e87f8896106c9a673c3c049c83ef389178cef82 (diff)
downloadgo-985a574991207a74ab45ce76ecf54228734ddffe.tar.gz
go-985a574991207a74ab45ce76ecf54228734ddffe.zip
net: fix LookupCNAME on Plan 9
In CL 34650, LookupCNAME was changed so it always returns the canonical DNS host, even when there is no CNAME record. Consequently, TestLookupCNAME was failing on Plan 9, because www.google.com doesn't have a CNAME record. We changed the implementation of lookupCNAME on Plan 9, so it returns the canonical DNS host after a CNAME lookup failure. Fixes #18391. Change-Id: I59f361bfb2c9de3953e998e8ac58c054979210bd Reviewed-on: https://go-review.googlesource.com/34633 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-rw-r--r--src/net/lookup_plan9.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/net/lookup_plan9.go b/src/net/lookup_plan9.go
index 11f2349afe..f81e220fc8 100644
--- a/src/net/lookup_plan9.go
+++ b/src/net/lookup_plan9.go
@@ -198,6 +198,10 @@ func (*Resolver) lookupPort(ctx context.Context, network, service string) (port
func (*Resolver) lookupCNAME(ctx context.Context, name string) (cname string, err error) {
lines, err := queryDNS(ctx, name, "cname")
if err != nil {
+ if stringsHasSuffix(err.Error(), "dns failure") {
+ cname = name + "."
+ err = nil
+ }
return
}
if len(lines) > 0 {