Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/glibc/2.9: 0080_all_glibc-2.10-dns-no-gethostbyname4.patch
Date: Sat, 10 Jan 2009 09:55:15
Message-Id: E1LLaYj-0001Fm-8f@stork.gentoo.org
1 vapier 09/01/10 09:55:13
2
3 Added: 0080_all_glibc-2.10-dns-no-gethostbyname4.patch
4 Log:
5 add simple hack for resolver issues #250468
6
7 Revision Changes Path
8 1.1 src/patchsets/glibc/2.9/0080_all_glibc-2.10-dns-no-gethostbyname4.patch
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/glibc/2.9/0080_all_glibc-2.10-dns-no-gethostbyname4.patch?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/glibc/2.9/0080_all_glibc-2.10-dns-no-gethostbyname4.patch?rev=1.1&content-type=text/plain
12
13 Index: 0080_all_glibc-2.10-dns-no-gethostbyname4.patch
14 ===================================================================
15 http://sourceware.org/bugzilla/show_bug.cgi?id=7060
16 http://bugs.gentoo.org/250468
17
18 The gethostbyname4() lookup method is problematic since it fires out both
19 the A and AAAA DNS queries in parallel and over the same socket. This
20 should work in theory, but it turns out that many cheap DSL modems and
21 similar devices have buggy DNS servers - if the AAAA query arrives too
22 quickly after the A query, the server will generate only a single reply
23 with the A query id but returning an error for the AAAA query; we get
24 stuck waiting for the second reply.
25
26 For gethostbyname4() users affected, disabling IPv6 in the system might
27 work around the issue, unfortunately it only helps with applications
28 using AI_ADDRCONFIG (e.g. Firefox); some (notably e.g. Pidgin) neglect
29 to do that.
30
31 Real fix should be using separate ports for the A and AAAA queries.
32
33 --- resolv/Versions 2008-08-02 10:26:09.000000000 +0200
34 +++ resolv/Versions 2008-12-08 12:51:53.000000000 +0100
35 @@ -102,7 +102,7 @@ libnss_dns {
36 _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
37 _nss_dns_getnetbyname_r; _nss_dns_getcanonname_r;
38 _nss_dns_gethostbyaddr2_r;
39 - _nss_dns_gethostbyname4_r;
40 +# _nss_dns_gethostbyname4_r;
41 }
42 }