1
0
mirror of https://github.com/golang/go synced 2024-09-30 16:08:36 -06:00

net: always use cgo for DNS on Android

Android has (had?) its own local DNS resolver daemon, also my fault:

007e987fee

And you access that via libc, not DNS.

Fixes #10714

Change-Id: Iaff752872ce19bb5c7771ab048fd50e3f72cb73c
Reviewed-on: https://go-review.googlesource.com/9793
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Brad Fitzpatrick 2015-05-06 09:32:11 -07:00
parent 6fd387b35b
commit 7165c9b30e
2 changed files with 13 additions and 1 deletions

View File

@ -85,7 +85,7 @@ func initConfVal() {
// hostLookupOrder determines which strategy to use to resolve hostname.
func (c *conf) hostLookupOrder(hostname string) hostLookupOrder {
if c.forceCgoLookupHost || c.resolv.unknownOpt {
if c.forceCgoLookupHost || c.resolv.unknownOpt || c.goos == "android" {
return hostLookupCgo
}
if byteIndex(hostname, '\\') != -1 || byteIndex(hostname, '%') != -1 {

View File

@ -272,6 +272,18 @@ func TestConfHostLookupOrder(t *testing.T) {
},
hostTests: []nssHostTest{{"google.com", hostLookupCgo}},
},
// Android should always use cgo.
{
name: "android",
c: &conf{
goos: "android",
nss: nssStr(""),
resolv: defaultResolvConf,
},
hostTests: []nssHostTest{
{"x.com", hostLookupCgo},
},
},
}
for _, tt := range tests {
for _, ht := range tt.hostTests {