patches/glibc/2.9/170-2.10-dns-no-gethostbyname4.patch
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Mon Apr 16 15:25:36 2012 +0200 (2012-04-16)
changeset 2941 13e40098fffc
parent 1201 c9967a6e3b25
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.04

Update Linaro GCC with the latest available revisions.

The 4.7 revision is also released, but the infrastructure is not yet ready for
it in CT-NG.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
yann@1201
     1
Original patch from: gentoo/src/patchsets/glibc/2.9/0080_all_glibc-2.10-dns-no-gethostbyname4.patch
yann@1201
     2
yann@1201
     3
-= BEGIN original header =-
yann@1201
     4
http://sourceware.org/bugzilla/show_bug.cgi?id=7060
yann@1201
     5
http://bugs.gentoo.org/250468
yann@1201
     6
yann@1201
     7
The gethostbyname4() lookup method is problematic since it fires out both
yann@1201
     8
the A and AAAA DNS queries in parallel and over the same socket. This
yann@1201
     9
should work in theory, but it turns out that many cheap DSL modems and
yann@1201
    10
similar devices have buggy DNS servers - if the AAAA query arrives too
yann@1201
    11
quickly after the A query, the server will generate only a single reply
yann@1201
    12
with the A query id but returning an error for the AAAA query; we get
yann@1201
    13
stuck waiting for the second reply.
yann@1201
    14
yann@1201
    15
For gethostbyname4() users affected, disabling IPv6 in the system might
yann@1201
    16
work around the issue, unfortunately it only helps with applications
yann@1201
    17
using AI_ADDRCONFIG (e.g. Firefox); some (notably e.g. Pidgin) neglect
yann@1201
    18
to do that.
yann@1201
    19
yann@1201
    20
Real fix should be using separate ports for the A and AAAA queries.
yann@1201
    21
yann@1201
    22
-= END original header =-
yann@1201
    23
yann@1201
    24
diff -durN glibc-2_9.orig/resolv/Versions glibc-2_9/resolv/Versions
yann@1201
    25
--- glibc-2_9.orig/resolv/Versions	2008-08-01 19:15:34.000000000 +0200
yann@1201
    26
+++ glibc-2_9/resolv/Versions	2009-02-02 22:00:46.000000000 +0100
yann@1201
    27
@@ -102,7 +102,7 @@
yann@1201
    28
     _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
yann@1201
    29
     _nss_dns_getnetbyname_r; _nss_dns_getcanonname_r;
yann@1201
    30
     _nss_dns_gethostbyaddr2_r;
yann@1201
    31
-    _nss_dns_gethostbyname4_r;
yann@1201
    32
+#    _nss_dns_gethostbyname4_r;
yann@1201
    33
   }
yann@1201
    34
 }
yann@1201
    35