Merge "Send both A and AAAA queries if all probes fail."

This commit is contained in:
Lorenzo Colitti 2011-09-29 10:52:23 -07:00 committed by Android (Google) Code Review
commit 229ab1a33e

View File

@ -1911,6 +1911,13 @@ _dns_getaddrinfo(void *rv, void *cb_data, va_list ap)
if (pai->ai_flags & AI_ADDRCONFIG) {
query_ipv6 = _have_ipv6();
query_ipv4 = _have_ipv4();
if (query_ipv6 == 0 && query_ipv4 == 0) {
// Both our IPv4 and IPv6 connectivity probes failed, which indicates
// that we have neither an IPv4 or an IPv6 default route (and thus no
// global IPv4 or IPv6 connectivity). We might be in a walled garden.
// Throw up our arms and ask for both A and AAAA.
query_ipv6 = query_ipv4 = 1;
}
}
if (query_ipv6) {
q.qtype = T_AAAA;