patches/glibc/2.9/170-2.10-dns-no-gethostbyname4.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 31 16:23:27 2011 +0100 (2011-12-31)
changeset 2814 3dc2727ebffc
parent 1201 c9967a6e3b25
permissions -rw-r--r--
cc/gcc: add option to use system zlib

In some cases, it might be desirable to use the system zlib

Eg. because latest gcc seem to be totally borked when it comes
to multilib, and tries to build a multilib host zlib, when it
is *absolutely* *not* needed: we want mulitlib on the target,
not on the host! Sigh... :-(

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