diff -u glibc-2.6.1/debian/changelog glibc-2.6.1/debian/changelog --- glibc-2.6.1/debian/changelog +++ glibc-2.6.1/debian/changelog @@ -1,3 +1,11 @@ +glibc (2.6.1-1ubuntu10) gutsy-proposed; urgency=low + + * Reapply any/local-ipv6-sanity.diff, lost when merging 2.6. LP: #156720. + Only do AAAA lookups if we have an interface with better than link-local + addresses available. + + -- Matthias Klose Wed, 24 Oct 2007 18:46:56 +0200 + glibc (2.6.1-1ubuntu9) gutsy; urgency=low * Rebuild using g++-4.2 (>= 4.2.1-5ubuntu4). @@ -1025,6 +1033,19 @@ -- Clint Adams Mon, 09 Apr 2007 16:17:20 -0400 +glibc (2.5-0ubuntu14) feisty; urgency=low + + * Twiddle the diff a little so it actually applies. + + -- Tollef Fog Heen Tue, 3 Apr 2007 21:34:51 +0200 + +glibc (2.5-0ubuntu13) feisty; urgency=low + + * debian/patches/any/local-ipv6-sanity.diff: Only do AAAA lookups if we + have an interface with better than link-local addresses available. + + -- Tollef Fog Heen Tue, 3 Apr 2007 14:11:26 +0200 + glibc (2.5-0ubuntu12) feisty; urgency=low * debian/patches/any/branch-pr3429.diff: Fix a race condition in diff -u glibc-2.6.1/debian/patches/series glibc-2.6.1/debian/patches/series --- glibc-2.6.1/debian/patches/series +++ glibc-2.6.1/debian/patches/series @@ -158,6 +158,7 @@ any/local-2.6.19-linux-libc-dev.diff -p0 any/submitted-fileops-and-signals.diff any/local-missing-linux_types.h.diff +any/local-ipv6-sanity.diff -p0 # Ubuntu-specific patches. These are things that we don't expect to wind up # in Debian. only in patch2: unchanged: --- glibc-2.6.1.orig/debian/patches/any/local-ipv6-sanity.diff +++ glibc-2.6.1/debian/patches/any/local-ipv6-sanity.diff @@ -0,0 +1,43 @@ +--- sysdeps/posix/getaddrinfo.c.orig 2007-10-24 18:27:00.000000000 +0200 ++++ sysdeps/posix/getaddrinfo.c 2007-10-24 18:27:06.000000000 +0200 +@@ -273,7 +273,7 @@ + static int + gaih_inet (const char *name, const struct gaih_service *service, + const struct addrinfo *req, struct addrinfo **pai, +- unsigned int *naddrs) ++ unsigned int *naddrs, bool usable_ipv6) + { + const struct gaih_typeproto *tp = gaih_inet_typeproto; + struct gaih_servtuple *st = (struct gaih_servtuple *) &nullserv; +@@ -716,7 +716,7 @@ + if (fct != NULL) + { + if (req->ai_family == AF_INET6 +- || req->ai_family == AF_UNSPEC) ++ || (req->ai_family == AF_UNSPEC && usable_ipv6)) + { + gethosts (AF_INET6, struct in6_addr); + no_inet6_data = no_data; +@@ -1907,7 +1907,7 @@ + if (hints->ai_family == AF_UNSPEC || hints->ai_family == AF_INET + || hints->ai_family == AF_INET6) + { +- last_i = gaih_inet (name, pservice, hints, end, &naddrs); ++ last_i = gaih_inet (name, pservice, hints, end, &naddrs, seen_ipv6); + if (last_i != 0) + { + freeaddrinfo (p); +--- sysdeps/unix/sysv/linux/check_pf.c.orig 2007-10-24 18:27:00.000000000 +0200 ++++ sysdeps/unix/sysv/linux/check_pf.c 2007-10-24 18:27:06.000000000 +0200 +@@ -151,7 +151,10 @@ + *seen_ipv4 = true; + break; + case AF_INET6: +- *seen_ipv6 = true; ++ if (ifam->ifa_scope < RT_SCOPE_LINK) ++ { ++ *seen_ipv6 = true; ++ } + + if (ifam->ifa_flags & (IFA_F_DEPRECATED + | IFA_F_TEMPORARY