mirror of https://github.com/golang/go.git
net: fix parsing literal IPv6 address with zone identifier in builtin dns stub resolver
Fixes #8619. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/132560043
This commit is contained in:
parent
93805d711c
commit
f40341643c
|
|
@ -42,7 +42,9 @@ func dnsReadConfig(filename string) (*dnsConfig, error) {
|
|||
// One more check: make sure server name is
|
||||
// just an IP address. Otherwise we need DNS
|
||||
// to look it up.
|
||||
if ParseIP(f[1]) != nil {
|
||||
if parseIPv4(f[1]) != nil {
|
||||
conf.servers = append(conf.servers, f[1])
|
||||
} else if ip, _ := parseIPv6(f[1], true); ip != nil {
|
||||
conf.servers = append(conf.servers, f[1])
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ var dnsReadConfigTests = []struct {
|
|||
{
|
||||
name: "testdata/resolv.conf",
|
||||
conf: dnsConfig{
|
||||
servers: []string{"8.8.8.8", "2001:4860:4860::8888"},
|
||||
servers: []string{"8.8.8.8", "2001:4860:4860::8888", "fe80::1%lo0"},
|
||||
search: []string{"localdomain"},
|
||||
ndots: 5,
|
||||
timeout: 10,
|
||||
|
|
|
|||
|
|
@ -3,5 +3,6 @@
|
|||
domain localdomain
|
||||
nameserver 8.8.8.8
|
||||
nameserver 2001:4860:4860::8888
|
||||
nameserver fe80::1%lo0
|
||||
options ndots:5 timeout:10 attempts:3 rotate
|
||||
options attempts 3
|
||||
|
|
|
|||
Loading…
Reference in New Issue