mirror of
https://github.com/golang/go.git
synced 2025-11-09 21:21:03 +00:00
net: use /etc/hosts first when looking up IP addresses using native Go's dns resolver
Previously /etc/hosts would be ignored altogether, this change returns matching results from that file without talking to a DNS server. R=rsc CC=golang-dev https://golang.org/cl/5061042
This commit is contained in:
parent
46468357a2
commit
003bfa0e26
1 changed files with 12 additions and 0 deletions
|
|
@ -215,6 +215,18 @@ func goLookupHost(name string) (addrs []string, err os.Error) {
|
|||
// depending on our lookup code, so that Go and C get the same
|
||||
// answers.
|
||||
func goLookupIP(name string) (addrs []IP, err os.Error) {
|
||||
// Use entries from /etc/hosts if possible.
|
||||
haddrs := lookupStaticHost(name)
|
||||
if len(haddrs) > 0 {
|
||||
for _, haddr := range haddrs {
|
||||
if ip := ParseIP(haddr); ip != nil {
|
||||
addrs = append(addrs, ip)
|
||||
}
|
||||
}
|
||||
if len(addrs) > 0 {
|
||||
return
|
||||
}
|
||||
}
|
||||
onceLoadConfig.Do(loadConfig)
|
||||
if dnserr != nil || cfg == nil {
|
||||
err = dnserr
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue