Debian Bug report logs - #435646
libc6: resolver considers IPv6 enabled when any IPv6 address is configured

version graph

Package: libc6; Maintainer for libc6 is GNU Libc Maintainers <debian-glibc@lists.debian.org>; Source for libc6 is src:eglibc.

Reported by: Andrew McMillan <debian@mcmillan.net.nz>

Date: Thu, 2 Aug 2007 10:21:04 UTC

Severity: normal

Tags: pending

Merged with 470289

Found in versions glibc/2.6-5, glibc/2.6.1-2, glibc/2.6.1-4, glibc/2.7-9

Fixed in version glibc/2.9-8

Done: Aurelien Jarno <aurel32@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, GNU Libc Maintainers <debian-glibc@lists.debian.org>:
Bug#435646; Package libc6. Full text and rfc822 format available.

Acknowledgement sent to Andrew McMillan <debian@mcmillan.net.nz>:
New Bug report received and forwarded. Copy sent to GNU Libc Maintainers <debian-glibc@lists.debian.org>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Andrew McMillan <debian@mcmillan.net.nz>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: libc6: resolver considers IPv6 enabled when any IPv6 address is configured
Date: Thu, 02 Aug 2007 22:19:50 +1200
Package: libc6
Version: 2.6-5
Severity: important
Tags: patch


Hi,

Tolleff fog Heen has written a patch for the resolver, so that it does
not start performing (or waiting for) AAAA lookups unless a globally
scoped IPv6 address is present on some interface.

Since Debian enables IPv6 by default, most users will have a system with
an IPv6 address on the loopback interface (as well as a link-local
address on each other interface) which will cause the current code to
commence lookups for AAAA records, only falling back to requesting A
records when these fail or timeout.

The patch here:

http://err.no/patches/glibc-only-lookup-ipv6-if-it-makes-sense.diff

seems to take a reasonable approach, since it will not be possible to
connect to IPv6 addresses without a globally scoped address (plus
routing :-) in any case.

This is an important issue because some users are so inconvenienced as
to be behind broken DNS infrastructure which ignores AAAA requests,
resulting in frequent timeouts with much confusion and frustration.

Thanks,
					Andrew McMillan.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (690, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.22.1-hippy (SMP w/2 CPU cores)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=POSIX (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages libc6 depends on:
ii  libgcc1                 1:4.2-20070712-1 GCC support library

libc6 recommends no packages.

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org, GNU Libc Maintainers <debian-glibc@lists.debian.org>:
Bug#435646; Package libc6. Full text and rfc822 format available.

Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <debian-glibc@lists.debian.org>. Full text and rfc822 format available.

Message #10 received at 435646@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurelien@aurel32.net>
To: Andrew McMillan <debian@mcmillan.net.nz>, 435646@bugs.debian.org
Subject: Re: Bug#435646: libc6: resolver considers IPv6 enabled when any IPv6 address is configured
Date: Thu, 02 Aug 2007 12:30:46 +0200
Andrew McMillan a écrit :
> Package: libc6
> Version: 2.6-5
> Severity: important
> Tags: patch
> 
> 
> Hi,
> 
> Tolleff fog Heen has written a patch for the resolver, so that it does
> not start performing (or waiting for) AAAA lookups unless a globally
> scoped IPv6 address is present on some interface.
> 
> Since Debian enables IPv6 by default, most users will have a system with
> an IPv6 address on the loopback interface (as well as a link-local
> address on each other interface) which will cause the current code to
> commence lookups for AAAA records, only falling back to requesting A
> records when these fail or timeout.
> 
> The patch here:
> 
> http://err.no/patches/glibc-only-lookup-ipv6-if-it-makes-sense.diff
> 
> seems to take a reasonable approach, since it will not be possible to
> connect to IPv6 addresses without a globally scoped address (plus
> routing :-) in any case.
> 
> This is an important issue because some users are so inconvenienced as
> to be behind broken DNS infrastructure which ignores AAAA requests,
> resulting in frequent timeouts with much confusion and frustration.
> 

I have already been given the link to this patch. It sounds reasonable,
but first I would like to know if it is in use on more than one machine,
for both IPv4 and IPv4 + IPv6 setups?

I don't really want to apply a patch that can cause regressions.

Cheers,
Aurelien

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net



Information forwarded to debian-bugs-dist@lists.debian.org, GNU Libc Maintainers <debian-glibc@lists.debian.org>:
Bug#435646; Package libc6. Full text and rfc822 format available.

Acknowledgement sent to Andrew McMillan <andrew@catalyst.net.nz>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <debian-glibc@lists.debian.org>. Full text and rfc822 format available.

Message #15 received at 435646@bugs.debian.org (full text, mbox):

From: Andrew McMillan <andrew@catalyst.net.nz>
To: 435646@bugs.debian.org
Subject: Re: Bug#435646: libc6: resolver considers IPv6 enabled when any IPv6 address is configured
Date: Fri, 03 Aug 2007 11:42:52 +1200
[Message part 1 (text/plain, inline)]
On Thu, 2007-08-02 at 12:30 +0200, Aurelien Jarno wrote:
> 
> I have already been given the link to this patch. It sounds reasonable,
> but first I would like to know if it is in use on more than one machine,
> for both IPv4 and IPv4 + IPv6 setups?
> 
> I don't really want to apply a patch that can cause regressions.

Indeed not!

I have built current libc6 from source, and applied the patch.  It
didn't apply cleanly, and I looked at the bit that didn't apply and
decided that not applying that particular part was correct...

I attach an updated patch, which *does* apply cleanly to the current
libc6 packages :-)

I have tested this on my laptop, as follows:

With IPv6 Fully Working
=======================
Enable query logging on my DNS
Start iceweasel

Browse to www.kame.net
Observe that there is an AAAA query for www.kame.net before any A query
and the turtle moves.

Browse to ipv4.generic.website
Observe that there is an AAAA query, with negative response, followed by
an A query, which gets a v4 address.


With IPv6 Presnt, but only localhost and link local addresses
=============================================================
Enable query logging on my DNS
Start iceweasel

Browse to www.kame.net
Observe that there is only an A query, and that the turtle does not
move.

Browse to ipv4.generic.website
Observe that there is only an A query, which gets a v4 address.

Browse to ipv6.geek.nz (there is no A record for this domain).
Observe that there is only an A query, and we get the "host not found"
page in Iceweasel.


I don't have access to any IPv4 boxes at present, but if I disable all
IPv6 addresses (including the loopback and link-local addresses) I see
the same behaviour as when only loopback and link-local addresses are
present above.


I've got someone else who will test this in a couple more environments,
but I guess it would be nice to find some more volunteers :-)

Regards,
					Andrew McMillan.

-------------------------------------------------------------------------
Andrew @ Catalyst .Net .NZ  Ltd,  PO Box 11-053, Manners St,  Wellington
WEB: http://catalyst.net.nz/            PHYS: Level 2, 150-154 Willis St
DDI: +64(4)803-2201      MOB: +64(272)DEBIAN      OFFICE: +64(4)499-2267
                Day of inquiry.  You will be subpoenaed.
-------------------------------------------------------------------------

[glibc-only-lookup-ipv6-if-it-makes-sense-debian.patch (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, GNU Libc Maintainers <debian-glibc@lists.debian.org>:
Bug#435646; Package libc6. Full text and rfc822 format available.

Acknowledgement sent to Andrew Ruthven <andrew.ruthven@catalyst.net.nz>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <debian-glibc@lists.debian.org>. Full text and rfc822 format available.

Message #20 received at 435646@bugs.debian.org (full text, mbox):

From: Andrew Ruthven <andrew.ruthven@catalyst.net.nz>
To: 435646@bugs.debian.org
Subject: Re: Bug#435646: libc6: resolver considers IPv6 enabled when any IPv6 address is configured
Date: Mon, 13 Aug 2007 14:44:43 +1200
[Message part 1 (text/plain, inline)]
Hi,

I've been runing libc6 with Andrew M's patch on a IPv6 enabled AMD64 box
for the past week just fine.  IPv6 is still runing just great.

I'll try removing the global IPv6 address soon and see how it runs
without.

Cheers!

-- 
Andrew Ruthven, Wellington, New Zealand
At work: andrew.ruthven@catalyst.net.nz
At home: andrew@etc.gen.nz
GPG fpr: 34CA 12A3 C6F8 B156 72C2  D0D7 D286 CE0C 0C62 B791
[signature.asc (application/pgp-signature, inline)]

Reply sent to Aurelien Jarno <aurel32@debian.org>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Andrew McMillan <debian@mcmillan.net.nz>:
Bug acknowledged by developer. Full text and rfc822 format available.

Message #25 received at 435646-close@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurel32@debian.org>
To: 435646-close@bugs.debian.org
Subject: Bug#435646: fixed in glibc 2.6.1-2
Date: Mon, 03 Sep 2007 18:47:06 +0000
Source: glibc
Source-Version: 2.6.1-2

We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive:

glibc-doc_2.6.1-2_all.deb
  to pool/main/g/glibc/glibc-doc_2.6.1-2_all.deb
glibc_2.6.1-2.diff.gz
  to pool/main/g/glibc/glibc_2.6.1-2.diff.gz
glibc_2.6.1-2.dsc
  to pool/main/g/glibc/glibc_2.6.1-2.dsc
libc6-dbg_2.6.1-2_amd64.deb
  to pool/main/g/glibc/libc6-dbg_2.6.1-2_amd64.deb
libc6-dev-i386_2.6.1-2_amd64.deb
  to pool/main/g/glibc/libc6-dev-i386_2.6.1-2_amd64.deb
libc6-dev_2.6.1-2_amd64.deb
  to pool/main/g/glibc/libc6-dev_2.6.1-2_amd64.deb
libc6-i386_2.6.1-2_amd64.deb
  to pool/main/g/glibc/libc6-i386_2.6.1-2_amd64.deb
libc6-pic_2.6.1-2_amd64.deb
  to pool/main/g/glibc/libc6-pic_2.6.1-2_amd64.deb
libc6-prof_2.6.1-2_amd64.deb
  to pool/main/g/glibc/libc6-prof_2.6.1-2_amd64.deb
libc6-udeb_2.6.1-2_amd64.udeb
  to pool/main/g/glibc/libc6-udeb_2.6.1-2_amd64.udeb
libc6_2.6.1-2_amd64.deb
  to pool/main/g/glibc/libc6_2.6.1-2_amd64.deb
libnss-dns-udeb_2.6.1-2_amd64.udeb
  to pool/main/g/glibc/libnss-dns-udeb_2.6.1-2_amd64.udeb
libnss-files-udeb_2.6.1-2_amd64.udeb
  to pool/main/g/glibc/libnss-files-udeb_2.6.1-2_amd64.udeb
locales-all_2.6.1-2_amd64.deb
  to pool/main/g/glibc/locales-all_2.6.1-2_amd64.deb
locales_2.6.1-2_all.deb
  to pool/main/g/glibc/locales_2.6.1-2_all.deb
nscd_2.6.1-2_amd64.deb
  to pool/main/g/glibc/nscd_2.6.1-2_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 435646@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (supplier of updated glibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Mon,  3 Sep 2007 18:15:37 +0200
Source: glibc
Binary: libc0.1-prof libc6-dev-amd64 locales-all libc6-i686 libc6-dev-ppc64 libc0.3-pic glibc-doc libc0.3 libc6-dev-mipsn32 libc0.1-i686 libc0.1-i386 libc6-mips64 libc6.1-dev libc6-s390x libnss-files-udeb libc0.1-dev-i386 libc6-dev-sparc64 libc6-i386 libc0.3-dev libc6-udeb libc6-dbg libc6.1-pic libc6-dev libc0.3-prof libc0.1-udeb libc6-dev-i386 libc6.1-prof libc6-mipsn32 libc0.1-dev locales libc6-pic libc0.3-udeb libc6-dev-powerpc libc0.1-pic libc6-ppc64 libc0.3-dbg libc0.1-dbg libc6-amd64 libc0.1 libc6-prof libc6-xen libc6-dev-mips64 libc6-powerpc libc6 libc6-sparcv9b libc6.1-udeb libc6.1-dbg nscd libc6-sparc64 libnss-dns-udeb libc6.1 libc6-dev-s390x
Architecture: source amd64 all
Version: 2.6.1-2
Distribution: unstable
Urgency: low
Maintainer: Aurelien Jarno <aurel32@debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description: 
 glibc-doc  - GNU C Library: Documentation
 libc6      - GNU C Library: Shared libraries
 libc6-dbg  - GNU C Library: Libraries with debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files
 libc6-dev-i386 - GNU C Library: 32bit development libraries for AMD64
 libc6-i386 - GNU C Library: 32bit shared libraries for AMD64
 libc6-pic  - GNU C Library: PIC archive library
 libc6-prof - GNU C Library: Profiling Libraries
 libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libnss-dns-udeb - GNU C Library: NSS helper for DNS - udeb (udeb)
 libnss-files-udeb - GNU C Library: NSS helper for files - udeb (udeb)
 locales    - GNU C Library: National Language (locale) data [support]
 locales-all - GNU C Library: Precompiled locale data
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 435640 435646 437404 438114 438179 438576
Changes: 
 glibc (2.6.1-2) unstable; urgency=low
 .
   [ Samuel Thibault ]
   * Rename hurd-i386/submitted-lock-intern.diff into
     hurd-i386/cvs-lock-intern.diff, hurd-i386/submitted-ECANCELED.diff
     into hurd-i386/cvs-ECANCELED.diff and
     hurd-i386/submitted-sigsuspend-nocancel.diff into
     hurd-i386/cvs-sigsuspend-nocancel.diff as the patches have been accepted
     upstream.
   * hurd-i386/local-tls-support.diff: update to fix TLS leak in /hurd/exec
     server.
   * hurd-i386/cvs-ioctl-delay.diff: new patch to add standard *DLY ioctl macros.
   * hurd-i386/submitted-IPV6_PKTINFO.diff: new patch to add standard
     IPV6_PKTINFO macro.
 .
   [ Aurelien Jarno ]
   * debian/rules.d/build.mk: disable testsuite on ARM machines running a
     2.6.21 or 2.6.22 kernel.
   * debian/debhelper.in/locales.{prerm,postinst}: look for supported.tar.lzma
     instead of supported.tar.gz.
   * debian/local/etc_default/devpts: remove.
   * debian/local/etc_default/locale: new file.  Closes: bug#437404.
   * debhelper.in/locales.install: install it.
   * debian/local/manpages/locale.1: fix a typo.  Closes: bug#438114.
   * kfreebsd/local-sysdeps.diff: update to revision 1995 (from glibc-bsd).
   * any/submitted-rfc3484-sortv4.diff: new patch to allow bypassing RFC3484
     rule 9 for IPv4 adresses.  Closes: bug#438179
   * debian/debhelper.in/libc.preinst: change version check for NSS services to
     (<< 2.6-1).
   * debian/debhelper.in/libc.preinst: add proftpd to the list of services to
     restart.  Closes: bug#435640.
   * Bump shlibdeps version to 2.6.1-1 due to SPARC v9 transition.
   * New Slovak debconf translation, by Ivan Masár.  Closes: bug#438576.
   * any/local-ipv6-lookup.diff: new patch to do IPv6 lookups only when an
     IPv6 address is configured. Patch by Tollef Fog Heen and Andrew McMillan.
     Closes: #435646.
 .
   [ Pierre Habouzit ]
   * Document new libc.conf in ld.so.conf.d that puts /usr/local/lib front.
Files: 
 5e980ba9e5553e57040dbd5c0ffa062a 2059 libs required glibc_2.6.1-2.dsc
 4d226ac6b64c8ca29f03bc706e7d4fd6 673864 libs required glibc_2.6.1-2.diff.gz
 d690e211cbffe87ccfb5f2871a7ed6ea 1595952 doc optional glibc-doc_2.6.1-2_all.deb
 84bff0eae1dbc4ee82c1d3c4192edc39 4398632 libs standard locales_2.6.1-2_all.deb
 3b9168d807345beb94ff5b5e2de5afa4 4899450 libs required libc6_2.6.1-2_amd64.deb
 7a5c3599c103ffd53a794054528e1f3a 2493580 libdevel optional libc6-dev_2.6.1-2_amd64.deb
 b6f700d678041a9a04a3ac85fc596b12 1930578 libdevel extra libc6-prof_2.6.1-2_amd64.deb
 993b4d28b231323654006e9bd8a55926 1465356 libdevel optional libc6-pic_2.6.1-2_amd64.deb
 3b9f8afeefd3a18cb8bddc5b50b4fdb2 2502358 libs extra locales-all_2.6.1-2_amd64.deb
 1768ee77e48d2f39452ab08f45262da4 3701186 libs optional libc6-i386_2.6.1-2_amd64.deb
 4dae414b1ed0af4b5e6f2e37180b706d 1882518 libdevel optional libc6-dev-i386_2.6.1-2_amd64.deb
 b1d75f3b7b6701446a89988696a454f2 164348 admin optional nscd_2.6.1-2_amd64.deb
 6107b38d975d3c6f85d7cbca3d2a955c 5228020 libdevel extra libc6-dbg_2.6.1-2_amd64.deb
 6b3dcf42c69d36077f356384af77a11b 1111624 debian-installer extra libc6-udeb_2.6.1-2_amd64.udeb
 8c359e0091aeee6406f37be19169aae2 9742 debian-installer extra libnss-dns-udeb_2.6.1-2_amd64.udeb
 93a2196d58875f0074ee2c8d3ce28be1 17874 debian-installer extra libnss-files-udeb_2.6.1-2_amd64.udeb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFG3FGUw3ao2vG823MRAuW5AJ0ZCPweYy/eVbMzva/Ee60LlkCXcACfRKj2
nAt+KbjdGVxF5P1mDtCWXVo=
=NzC6
-----END PGP SIGNATURE-----




Information forwarded to debian-bugs-dist@lists.debian.org, GNU Libc Maintainers <debian-glibc@lists.debian.org>:
Bug#435646; Package libc6. Full text and rfc822 format available.

Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <debian-glibc@lists.debian.org>. Full text and rfc822 format available.

Message #30 received at 435646@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurelien@aurel32.net>
To: Andrew McMillan <debian@mcmillan.net.nz>
Cc: 435646@bugs.debian.org
Subject: Re: libc6: resolver considers IPv6 enabled when any IPv6 address is configured
Date: Tue, 11 Sep 2007 16:16:08 +0200
On Thu, Aug 02, 2007 at 10:19:50PM +1200, Andrew McMillan wrote:
> Package: libc6
> Version: 2.6-5
> Severity: important
> Tags: patch
> 
> 
> Hi,
> 
> Tolleff fog Heen has written a patch for the resolver, so that it does
> not start performing (or waiting for) AAAA lookups unless a globally
> scoped IPv6 address is present on some interface.
> 
> Since Debian enables IPv6 by default, most users will have a system with
> an IPv6 address on the loopback interface (as well as a link-local
> address on each other interface) which will cause the current code to
> commence lookups for AAAA records, only falling back to requesting A
> records when these fail or timeout.
> 
> The patch here:
> 
> http://err.no/patches/glibc-only-lookup-ipv6-if-it-makes-sense.diff
> 
> seems to take a reasonable approach, since it will not be possible to
> connect to IPv6 addresses without a globally scoped address (plus
> routing :-) in any case.
> 
> This is an important issue because some users are so inconvenienced as
> to be behind broken DNS infrastructure which ignores AAAA requests,
> resulting in frequent timeouts with much confusion and frustration.
> 

This patch is causing breakage (see bug#441857) and thus will be
disabled in the next upload of the glibc.


-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net




Bug marked as found in version 2.6.1-4 and reopened. Request was from Josh Triplett <josh@freedesktop.org> to control@bugs.debian.org. (Sat, 15 Sep 2007 03:21:04 GMT) Full text and rfc822 format available.

Severity set to `normal' from `important' Request was from Aurelien Jarno <aurelien@aurel32.net> to control@bugs.debian.org. (Fri, 16 Nov 2007 13:48:02 GMT) Full text and rfc822 format available.

Bug no longer marked as found in version 2.6.1-2. Request was from Aurelien Jarno <aurelien@aurel32.net> to control@bugs.debian.org. (Fri, 16 Nov 2007 13:48:03 GMT) Full text and rfc822 format available.

Bug marked as found in version 2.6.1-2. Request was from Aurelien Jarno <aurelien@aurel32.net> to control@bugs.debian.org. (Fri, 16 Nov 2007 13:48:04 GMT) Full text and rfc822 format available.

Bug marked as found in version 2.6.1-2. Request was from Aurelien Jarno <aurelien@aurel32.net> to control@bugs.debian.org. (Fri, 16 Nov 2007 13:48:06 GMT) Full text and rfc822 format available.

Tags removed: patch Request was from Aurelien Jarno <aurelien@aurel32.net> to control@bugs.debian.org. (Fri, 16 Nov 2007 14:27:04 GMT) Full text and rfc822 format available.

Forcibly Merged 435646 470289. Request was from Aurelien Jarno <aurelien@aurel32.net> to control@bugs.debian.org. (Mon, 10 Mar 2008 15:15:03 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, GNU Libc Maintainers <debian-glibc@lists.debian.org>:
Bug#435646; Package libc6. (Wed, 05 Nov 2008 13:03:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Karl Chen <quarl@cs.berkeley.edu>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <debian-glibc@lists.debian.org>. (Wed, 05 Nov 2008 13:03:04 GMT) Full text and rfc822 format available.

Message #49 received at 435646@bugs.debian.org (full text, mbox):

From: Karl Chen <quarl@cs.berkeley.edu>
To: 435646@bugs.debian.org
Subject: AI_ADDRCONFIG
Date: Wed, 05 Nov 2008 05:00:29 -0800
This is an informational mail that I hope helps some people since
this problem had been bothering me for a long time and I just
solved it for myself.  Bug#435646 shows up high (#1) in certain
Google search results and I believe the submitter of merged
Bug#470289 had the same issue as me.

Since glibc v2.3.3, getaddrinfo() has included a feature to
disable AAAA requests if there are no interfaces with IPv6
addresses; the feature is turned on by a flag called
AI_ADDRCONFIG.

The patch in Bug#435646 that was installed and then reverted was
about changing the behavior of AI_ADDRCONFIG so that it only
includes *globally-scoped* addresses in this check.  (Some people
do talk to localhost via IPv6 so this patch doesn't work.)

When IPv6 is disabled in the kernel via "alias net-pf-10 off",
there are no IPv6 addresses *period*, so the original unpatched
getaddrinfo() should already work.

Having not fully understood the issue before, I lamented the
rejection of the patch, thinking this was about disabling AAAA
even if there are no IPv6 addresses period --- because various
apps *do* make AAAA requests with IPv6 completely disabled in the
kernel!  But as it turns out, the regular feature has already
existed since glibc 2.3.3.

Here's the answer: users of getaddrinfo() aren't using the
feature!  It's only enabled by default if hints=NULL, otherwise
you have to enable it explicitly with hints->flags =
AI_ADDRCONFIG.  Each application that uses getaddrinfo() needs to
pass in the AI_ADDRCONFIG flag, and programmers may not know about
it.

I think getaddrinfo() should read from gai.conf to allow this to
enabled system-wide.  Until then, I've written a kludge that can
be installed in LD_PRELOAD or /etc/ld.so.preload to force on this
flag (and an alternate kludge to just always turn off AAAA
queries).

http://git.cubewano.org/git/gai-no6





Information forwarded to debian-bugs-dist@lists.debian.org, GNU Libc Maintainers <debian-glibc@lists.debian.org>:
Bug#435646; Package libc6. (Sun, 15 Mar 2009 09:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <debian-glibc@lists.debian.org>. (Sun, 15 Mar 2009 09:36:03 GMT) Full text and rfc822 format available.

Message #54 received at 435646@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurelien@aurel32.net>
To: 435646@bugs.debian.org
Subject: Re: libc6: resolver considers IPv6 enabled when any IPv6 address is configured
Date: Sun, 15 Mar 2009 10:35:38 +0100
Please note that this bug is now fixed in glibc 2.9, with the 
implementation of unified lookup. Both A and AAAA address are looked-up
at the same time (starting with the A query), and the resolver does not 
choke anymore on a missing AAAA answer.

However the behavior of the resolver will be restored to the one in
glibc 2.7, as some even more broken DNS servers are getting confused and
only answer to the AAAA request with a broken answer.

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net




Tags added: pending Request was from Aurelien Jarno <aurel32@alioth.debian.org> to control@bugs.debian.org. (Sun, 26 Apr 2009 16:24:06 GMT) Full text and rfc822 format available.

Tags added: pending Request was from Aurelien Jarno <aurel32@alioth.debian.org> to control@bugs.debian.org. (Sun, 26 Apr 2009 21:48:29 GMT) Full text and rfc822 format available.

Reply sent to Aurelien Jarno <aurel32@debian.org>:
You have taken responsibility. (Mon, 27 Apr 2009 05:54:13 GMT) Full text and rfc822 format available.

Notification sent to Andrew McMillan <debian@mcmillan.net.nz>:
Bug acknowledged by developer. (Mon, 27 Apr 2009 05:54:13 GMT) Full text and rfc822 format available.

Message #63 received at 435646-close@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurel32@debian.org>
To: 435646-close@bugs.debian.org
Subject: Bug#435646: fixed in glibc 2.9-8
Date: Mon, 27 Apr 2009 05:32:25 +0000
Source: glibc
Source-Version: 2.9-8

We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive:

glibc-doc_2.9-8_all.deb
  to pool/main/g/glibc/glibc-doc_2.9-8_all.deb
glibc-source_2.9-8_all.deb
  to pool/main/g/glibc/glibc-source_2.9-8_all.deb
glibc_2.9-8.diff.gz
  to pool/main/g/glibc/glibc_2.9-8.diff.gz
glibc_2.9-8.dsc
  to pool/main/g/glibc/glibc_2.9-8.dsc
libc6-dbg_2.9-8_amd64.deb
  to pool/main/g/glibc/libc6-dbg_2.9-8_amd64.deb
libc6-dev-i386_2.9-8_amd64.deb
  to pool/main/g/glibc/libc6-dev-i386_2.9-8_amd64.deb
libc6-dev_2.9-8_amd64.deb
  to pool/main/g/glibc/libc6-dev_2.9-8_amd64.deb
libc6-i386_2.9-8_amd64.deb
  to pool/main/g/glibc/libc6-i386_2.9-8_amd64.deb
libc6-pic_2.9-8_amd64.deb
  to pool/main/g/glibc/libc6-pic_2.9-8_amd64.deb
libc6-prof_2.9-8_amd64.deb
  to pool/main/g/glibc/libc6-prof_2.9-8_amd64.deb
libc6-udeb_2.9-8_amd64.udeb
  to pool/main/g/glibc/libc6-udeb_2.9-8_amd64.udeb
libc6_2.9-8_amd64.deb
  to pool/main/g/glibc/libc6_2.9-8_amd64.deb
libnss-dns-udeb_2.9-8_amd64.udeb
  to pool/main/g/glibc/libnss-dns-udeb_2.9-8_amd64.udeb
libnss-files-udeb_2.9-8_amd64.udeb
  to pool/main/g/glibc/libnss-files-udeb_2.9-8_amd64.udeb
locales-all_2.9-8_amd64.deb
  to pool/main/g/glibc/locales-all_2.9-8_amd64.deb
locales_2.9-8_all.deb
  to pool/main/g/glibc/locales_2.9-8_all.deb
nscd_2.9-8_amd64.deb
  to pool/main/g/glibc/nscd_2.9-8_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 435646@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (supplier of updated glibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Mon, 27 Apr 2009 00:44:59 +0200
Source: glibc
Binary: glibc-doc glibc-source locales locales-all nscd libc6 libc6-dev libc6-dbg libc6-prof libc6-pic libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-prof libc6.1-pic libc6.1-udeb libc0.3 libc0.3-dev libc0.3-dbg libc0.3-prof libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev libc0.1-dbg libc0.1-prof libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc64 libc6-dev-sparc64 libc6-s390x libc6-dev-s390x libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64 libc6-dev-ppc64 libc6-mipsn32 libc6-dev-mipsn32 libc6-mips64 libc6-dev-mips64 libc0.1-i386 libc0.1-dev-i386 libc6-sparcv9b libc6-i686 libc6-xen libc0.1-i686 libc6.1-alphaev67 libnss-dns-udeb libnss-files-udeb
Architecture: source all amd64
Version: 2.9-8
Distribution: unstable
Urgency: low
Maintainer: Aurelien Jarno <aurel32@debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description: 
 glibc-doc  - GNU C Library: Documentation
 glibc-source - GNU C Library: sources
 libc0.1    - GNU C Library: Shared libraries
 libc0.1-dbg - GNU C Library: detached debugging symbols
 libc0.1-dev - GNU C Library: Development Libraries and Header Files
 libc0.1-dev-i386 - GNU C Library: 32bit development libraries for AMD64
 libc0.1-i386 - GNU C Library: 32bit shared libraries for AMD64
 libc0.1-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc0.1-pic - GNU C Library: PIC archive library
 libc0.1-prof - GNU C Library: Profiling Libraries
 libc0.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3    - GNU C Library: Shared libraries
 libc0.3-dbg - GNU C Library: detached debugging symbols
 libc0.3-dev - GNU C Library: Development Libraries and Header Files
 libc0.3-pic - GNU C Library: PIC archive library
 libc0.3-prof - GNU C Library: Profiling Libraries
 libc0.3-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc6      - GNU C Library: Shared libraries
 libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
 libc6-dbg  - GNU C Library: detached debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files
 libc6-dev-amd64 - GNU C Library: 64bit Development Libraries for AMD64
 libc6-dev-i386 - GNU C Library: 32bit development libraries for AMD64
 libc6-dev-mips64 - GNU C Library: 64bit Development Libraries for MIPS64
 libc6-dev-mipsn32 - GNU C Library: n32 Development Libraries for MIPS64
 libc6-dev-powerpc - GNU C Library: 32bit powerpc development libraries for ppc64
 libc6-dev-ppc64 - GNU C Library: 64bit Development Libraries for PowerPC64
 libc6-dev-s390x - GNU C Library: 64bit Development Libraries for IBM zSeries
 libc6-dev-sparc64 - GNU C Library: 64bit Development Libraries for UltraSPARC
 libc6-i386 - GNU C Library: 32bit shared libraries for AMD64
 libc6-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc6-mips64 - GNU C Library: 64bit Shared libraries for MIPS64
 libc6-mipsn32 - GNU C Library: n32 Shared libraries for MIPS64
 libc6-pic  - GNU C Library: PIC archive library
 libc6-powerpc - GNU C Library: 32bit powerpc shared libraries for ppc64
 libc6-ppc64 - GNU C Library: 64bit Shared libraries for PowerPC64
 libc6-prof - GNU C Library: Profiling Libraries
 libc6-s390x - GNU C Library: 64bit Shared libraries for IBM zSeries
 libc6-sparc64 - GNU C Library: 64bit Shared libraries for UltraSPARC
 libc6-sparcv9b - GNU C Library: Shared libraries [v9b optimized]
 libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc6-xen  - GNU C Library: Shared libraries [Xen version]
 libc6.1    - GNU C Library: Shared libraries
 libc6.1-alphaev67 - GNU C Library: Shared libraries (EV67 optimized)
 libc6.1-dbg - GNU C Library: detached debugging symbols
 libc6.1-dev - GNU C Library: Development Libraries and Header Files
 libc6.1-pic - GNU C Library: PIC archive library
 libc6.1-prof - GNU C Library: Profiling Libraries
 libc6.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libnss-dns-udeb - GNU C Library: NSS helper for DNS - udeb (udeb)
 libnss-files-udeb - GNU C Library: NSS helper for files - udeb (udeb)
 locales    - GNU C Library: National Language (locale) data [support]
 locales-all - GNU C Library: Precompiled locale data
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 343140 435646 511621 521439 522686 522982 523952 525261 525299
Changes: 
 glibc (2.9-8) unstable; urgency=low
 .
   [ Aurelien Jarno ]
   * Update Swedish debconf translation, by Martin Bagger.  Closes: #522982.
   * mips/cvs-context.diff: new patch from upstream to add getcontext,
     setcontext, makecontext, swapcontext.
   * any/submitted-mount_h.diff: new patch to add MNT_DETACH and MNT_EXPIRE to
     sys/mount.h.  Closes: #523952.
   * arm/submitted-fpu_control_h.diff: new patch to disable macros from
     <fpu_control.h> on EABI.  Closes: #525261.
   * any/cvs-iconv-utf16.diff: new patch from upstream to reject UTF-8-encoded
     UTF-16 surrogates in iconv.  Closes: #525299.
   * any/local-getaddrinfo-interface.diff: ignore addresses with no interface
     assigned while sorting with rule 7.  Closes: #521439.
   * any/cvs-broken_dns.diff: new patch from CVS to provide a fallback for
     broken DNS server while doing unified IPv4/IPv6 requests. The first lookup
     will be slow, but subsequent requests will fallback to the previous
     behaviour. This can be enabled by default by setting 'single-request' in
     /etc/resolv.conf.
   * debhelper.in/libc.NEWS: add entry explaining the new behaviour and the new
     option.
   * any/local-disable-gethostbyname4.diff: disabled this patch to re-enable
     unified IPv4/IPv6 requests.  Closes: bug#343140, bug#435646.
   * localedata/cvs-el_CY-el_GR-frac_digits.diff: new patch from CVS to fix
     frac_digits and int_frac_digits on el_CY ad el_GR locales.  Closes:
     bug#511621.
   * mips_asm_unistd.h, sysdeps/mipsel.mk, sysdeps/mips.mk: use our own version
     of unistd.h corresponding to the one of a 2.6.24 kernel to workaround kernel
     bugs on the build daemons.
   * any/cvs-binutils_2.20.diff: new patch from upstream to fix build failure
     with binutils 2.20.
 .
   [ Petr Salinger ]
   * kfreebsd/local-sysdeps.diff: update to revision 2482 (from glibc-bsd).
     Closes: #522686. Thanks to Jan Christoph Nordholz.
 .
   [ Samuel Thibault ]
   * hurd-i386/cvs-rtld.diff: new patch, fixes boot of glibc built with
     binutils >= 2.19.
Checksums-Sha1: 
 155ea8453cdf50a2c1d6c76a64748cfcdc3bfec7 2650 glibc_2.9-8.dsc
 c7316d5cfbd57574a0c3196c9a822b0622dc4294 733546 glibc_2.9-8.diff.gz
 222a7389725f20ffffa0db742063bc1a58cbc86e 1653562 glibc-doc_2.9-8_all.deb
 eba178b48d43ffe2607aaba9db2d15d9cc27c22d 11155772 glibc-source_2.9-8_all.deb
 1e9e6e5b21b71118b89f501e2c813bc56ce9bb89 4661840 locales_2.9-8_all.deb
 dc2cb1dc389109552900c6578f97902ca7103c29 4938292 libc6_2.9-8_amd64.deb
 8cd4202addd7c7db9b7352f6a365956f6dd40a01 2522924 libc6-dev_2.9-8_amd64.deb
 cdb0f7484f0996a344ecd02ec4e620312f641a29 1948818 libc6-prof_2.9-8_amd64.deb
 f35fd1d75d0e8cfb81195379bf3d45bf0e0bb0c2 1484620 libc6-pic_2.9-8_amd64.deb
 5ba617aaa543a79dd81698712683b64bcb376a26 2988424 locales-all_2.9-8_amd64.deb
 6d63e5e1b20c1c6b8e033009da177eead38aa371 3750732 libc6-i386_2.9-8_amd64.deb
 afc45a1f924e48b32eaaa25524f9ab8617f76145 1502560 libc6-dev-i386_2.9-8_amd64.deb
 f14719b4119107ad272a7161ce6c9385b1ba9e42 185656 nscd_2.9-8_amd64.deb
 e42f6d0fe242267dead319f8e83382b541be4527 10600292 libc6-dbg_2.9-8_amd64.deb
 abf4ebe7361db29a82e96d0469fe14b122def959 1116220 libc6-udeb_2.9-8_amd64.udeb
 2e7351d16f00dd1e4babf5706d0d835bd6220e48 10832 libnss-dns-udeb_2.9-8_amd64.udeb
 7a23f7499e8a2c79282fdefa92c0f0a2e3ae2e27 19056 libnss-files-udeb_2.9-8_amd64.udeb
Checksums-Sha256: 
 08a95805df28ea561431cc30d4523e136759e678ba56cc39eea3728c2623034f 2650 glibc_2.9-8.dsc
 69bf4282415e399984ad18e2645387ff26e2677fe72d5a46c50038b8864d8b1f 733546 glibc_2.9-8.diff.gz
 ee841530e7a5cf60cc71b78caf66ddd0c1ab53cfb4a233d8446bcfb5524f1715 1653562 glibc-doc_2.9-8_all.deb
 bb4f0a88fc8a79e377489aa40f73902a859a6b0849fb22c150e0d9219365ce95 11155772 glibc-source_2.9-8_all.deb
 dd0116b42e0b8b5f9b651131e9ffb22497287a78190c0cfc4ea450c79790bae6 4661840 locales_2.9-8_all.deb
 a58de0edf374a34d0067932dd143c073e6a4db2ffb7a1ec7d1d0aa0fb3524090 4938292 libc6_2.9-8_amd64.deb
 09ab3462a9c1f753dbfd7769324969f1d9c158d5cc021b9d2f5ce44b80d9560d 2522924 libc6-dev_2.9-8_amd64.deb
 4ba8d085816b844109427e3ed4ee3e625970ec373add96f172c53695e21eff7b 1948818 libc6-prof_2.9-8_amd64.deb
 d6709f71b83447b3558eab28a946ba1dc8f1584f7822f3e1dbeb26d149499713 1484620 libc6-pic_2.9-8_amd64.deb
 f850fb6d42b41b7a65c9fa0add64ecfd50bd7ce45403db60674e72d5e0f38d0e 2988424 locales-all_2.9-8_amd64.deb
 29fde35720312bd95c009d9984b482be7ab4d127ee1aafe0a8a09ac5daf7bdfe 3750732 libc6-i386_2.9-8_amd64.deb
 7de522117e08b09bdfbb3f60d4a68a71994a979466b9d7e38d4e6bd92713773a 1502560 libc6-dev-i386_2.9-8_amd64.deb
 ea62835d8e6a3cd7ec01e56d529ca01b9b05923e6e57e5553d0579f58667e28f 185656 nscd_2.9-8_amd64.deb
 d746f58cb2efbad364b54dfd9236f7ef2e48e0a108240abf5229aba688ebcc13 10600292 libc6-dbg_2.9-8_amd64.deb
 5b86b7535e62c208be4dc526962462541041433690343334b473a28b66637753 1116220 libc6-udeb_2.9-8_amd64.udeb
 254ea1efecf00730287bf3188a5aa9fb7e9a63d1c3aaf47b2b0e3fa179525900 10832 libnss-dns-udeb_2.9-8_amd64.udeb
 caae6c48f91577acdd894e0dc16962f9ea8dc59caa5bae6463b8e778d3557bec 19056 libnss-files-udeb_2.9-8_amd64.udeb
Files: 
 780a8030f914d83535861db0040930a4 2650 libs required glibc_2.9-8.dsc
 5d1d164e43e887041aca7db23e223333 733546 libs required glibc_2.9-8.diff.gz
 cc95fd007220e632ef9f1f3464ffb4c6 1653562 doc optional glibc-doc_2.9-8_all.deb
 84475a60902201fbaec47571cb6dca12 11155772 devel optional glibc-source_2.9-8_all.deb
 a841bc96f91309f513e80fb233f94140 4661840 libs standard locales_2.9-8_all.deb
 340225d1fcdbe059a2022d1e35c76fd4 4938292 libs required libc6_2.9-8_amd64.deb
 b37727b2d378d1191113fb6c8fb444e4 2522924 libdevel optional libc6-dev_2.9-8_amd64.deb
 4b78cee60417afe94dce21cb21a4d897 1948818 libdevel extra libc6-prof_2.9-8_amd64.deb
 b259f462f09d37b34d8dcc69b322f314 1484620 libdevel optional libc6-pic_2.9-8_amd64.deb
 7f1d057d0c836b588d882929a928e2f2 2988424 libs extra locales-all_2.9-8_amd64.deb
 106b11f1e2d6ced7d7d970e7cb57563f 3750732 libs optional libc6-i386_2.9-8_amd64.deb
 84424d433d5107a6b0db8941072213dd 1502560 libdevel optional libc6-dev-i386_2.9-8_amd64.deb
 ceb25bc041ae803369dfd301c0d8fb74 185656 admin optional nscd_2.9-8_amd64.deb
 65d2fd9277cf4ca49053038d6d9336c5 10600292 debug extra libc6-dbg_2.9-8_amd64.deb
 da39a5a4fcfa8d00615fd5ac9157fe1c 1116220 debian-installer extra libc6-udeb_2.9-8_amd64.udeb
 cb30ceeac1f6b0ba35d56d507d25bbc9 10832 debian-installer extra libnss-dns-udeb_2.9-8_amd64.udeb
 bbac738dab892601d755c3a4c65224cb 19056 debian-installer extra libnss-files-udeb_2.9-8_amd64.udeb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFJ9T6ow3ao2vG823MRAiEDAJ4ocwAoJgnluLF/MGSYoT+ZiS+uvQCeMnDB
6x6Fa8Dhr1jPpvnFKsrr3sU=
=Xinb
-----END PGP SIGNATURE-----





Reply sent to Aurelien Jarno <aurel32@debian.org>:
You have taken responsibility. (Mon, 27 Apr 2009 05:54:13 GMT) Full text and rfc822 format available.

Notification sent to Andre Woebbeking <Woebbeking@web.de>:
Bug acknowledged by developer. (Mon, 27 Apr 2009 05:54:13 GMT) Full text and rfc822 format available.

Tags added: pending Request was from Aurelien Jarno <aurel32@alioth.debian.org> to control@bugs.debian.org. (Tue, 05 May 2009 06:06:17 GMT) Full text and rfc822 format available.

Tags added: pending Request was from Aurelien Jarno <aurel32@alioth.debian.org> to control@bugs.debian.org. (Tue, 05 May 2009 06:15:12 GMT) Full text and rfc822 format available.

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 02 Jun 2009 07:31:16 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Apr 20 13:20:20 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.