27 lines
1.1 KiB
Diff
27 lines
1.1 KiB
Diff
The gethostbyname4() lookup method is problematic since it fires out both
|
|
the A and AAAA DNS queries in parallel and over the same socket. This
|
|
should work in theory, but it turns out that many cheap DSL modems and
|
|
similar devices have buggy DNS servers - if the AAAA query arrives too
|
|
quickly after the A query, the server will generate only a single reply
|
|
with the A query id but returning an error for the AAAA query; we get
|
|
stuck waiting for the second reply.
|
|
|
|
For gethostbyname4() users affected, disabling IPv6 in the system might
|
|
work around the issue, unfortunately it only helps with applications
|
|
using AI_ADDRCONFIG (e.g. Firefox); some (notably e.g. Pidgin) neglect
|
|
to do that.
|
|
|
|
Real fix should be using separate ports for the A and AAAA queries.
|
|
|
|
--- resolv/Versions 2008-08-02 10:26:09.000000000 +0200
|
|
+++ resolv/Versions 2008-12-08 12:51:53.000000000 +0100
|
|
@@ -102,7 +102,7 @@ libnss_dns {
|
|
_nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
|
|
_nss_dns_getnetbyname_r; _nss_dns_getcanonname_r;
|
|
_nss_dns_gethostbyaddr2_r;
|
|
- _nss_dns_gethostbyname4_r;
|
|
+# _nss_dns_gethostbyname4_r;
|
|
}
|
|
}
|
|
|