patches/glibc/2.9/170-2.10-dns-no-gethostbyname4.patch
author Anthony Foiani <anthony.foiani@gmail.com>
Thu May 19 23:09:43 2011 +0200 (2011-05-19)
branch1.11
changeset 2465 5f98b7a90fbc
parent 1201 c9967a6e3b25
permissions -rw-r--r--
complibs/ppl: fix 0.11-0.11.2 to compile with --disable-shared

PPL 0.11 (through 0.11.2) had a small bug where it still tried to build
and test its Java interface even when shared libraries are disabled.
Since that's exactly what ct-ng does, it explodes.

This is the patch from the PPL authors (see final link below).

More information can be found in these messages/threads:

Anthony's initial report and analysis with Yann:
http://www.cygwin.com/ml/crossgcc/2011-05/msg00046.html

Ron Flory hit the same problem:
http://www.cygwin.com/ml/crossgcc/2011-05/msg00054.html

Anthony's report to the ppl-devel list:
http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017450.html

Roberto's reply with a link to the fix in the PPL git repo:
http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017455.html

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
(transplanted from 139b85d70b623e51f7585e7c64ecb8c6a6cf4567)
     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