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:
Mikio Hara 2014-09-04 12:53:51 +09:00
parent 93805d711c
commit f40341643c
3 changed files with 5 additions and 2 deletions

View File

@ -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])
}
}

View File

@ -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,

View File

@ -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