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:
parent
6e87f88961
commit
985a574991
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user