1
0
mirror of https://github.com/golang/go synced 2024-11-12 00:20:22 -07:00

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>
This commit is contained in:
David du Colombier 2016-12-20 22:33:06 +01:00
parent 6e87f88961
commit 985a574991

View File

@ -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) { func (*Resolver) lookupCNAME(ctx context.Context, name string) (cname string, err error) {
lines, err := queryDNS(ctx, name, "cname") lines, err := queryDNS(ctx, name, "cname")
if err != nil { if err != nil {
if stringsHasSuffix(err.Error(), "dns failure") {
cname = name + "."
err = nil
}
return return
} }
if len(lines) > 0 { if len(lines) > 0 {