summaryrefslogblamecommitdiffstats
path: root/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff
blob: 3fa365afa117ec3503c4014e004d2d79bda32e89 (plain) (tree)

























                                                                         
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;
   }
 }