patches/glibc/2.9/170-2.10-dns-no-gethostbyname4.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Dec 30 15:36:22 2009 +0100 (2009-12-30)
changeset 1669 61edd9d19e3c
parent 1201 c9967a6e3b25
permissions -rw-r--r--
scripts/functions: add aria2, a powerfull downloader

aria2 is a powerfull downloader that is capable of chunking and
parallel retrieval.

Due to li;itations in crosstool-NG retrieval facilities, it's not possible
to take fully advantage of aria2. It might happen that, in the future,
those limitations get lifted away, so we can take use features such as
parallel downloading from more than one server at the same time. For now,
it should still speed up downloads thanks to parallel downloading of chunks.
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