Just a little update here: Fedora has commited the change and it'll be part of F13. See <https://bugzilla.redhat.com/show_bug.cgi?id=577626>. I have tested their patch (attached) and it works as expected.
It would really be fantastic if this could be commited to Debian as well! Best regards, -- Tore Anderson
--- glibc-2.11-332-g2e7c805/ChangeLog +++ glibc-2.11.90-17/ChangeLog @@ -1,3 +1,9 @@ +2010-04-06 Ulrich Drepper <[email protected]> + + * sysdeps/posix/getaddrinfo.c (default_scopes): Assign global + scope to RFC 1918 addresses. + * posix/gai.conf: Document difference from RFC 3484. + 2010-04-05 Thomas Schwinge <[email protected]> * sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/. --- glibc-2.11-332-g2e7c805/posix/gai.conf +++ glibc-2.11.90-17/posix/gai.conf @@ -41,7 +41,7 @@ # # precedence <mask> <value> # Add another rule to the RFC 3484 precedence table. See section 2.1 -# and 10.3 in RFC 3484. The default is: +# and 10.3 in RFC 3484. The RFC requires: # #precedence ::1/128 50 #precedence ::/0 40 @@ -58,7 +58,7 @@ # Add another rule to the RFC 3484 scope table for IPv4 addresses. # By default the scope IDs described in section 3.2 in RFC 3484 are # used. Changing these defaults should hardly ever be necessary. -# The defaults are equivalent to: +# The definitions in RFC 1918 are equivalent to: # #scopev4 ::ffff:169.254.0.0/112 2 #scopev4 ::ffff:127.0.0.0/104 2 @@ -75,3 +75,5 @@ #scopev4 ::ffff:169.254.0.0/112 2 #scopev4 ::ffff:127.0.0.0/104 2 #scopev4 ::ffff:0.0.0.0/96 14 +# +# This is what the Red Hat setting currently uses. --- glibc-2.11-332-g2e7c805/sysdeps/posix/getaddrinfo.c +++ glibc-2.11.90-17/sysdeps/posix/getaddrinfo.c @@ -1099,10 +1099,12 @@ static const struct scopeentry /* Link-local addresses: scope 2. */ { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 }, { { { 127, 0, 0, 0 } }, htonl_c (0xff000000), 2 }, +#if 0 /* Site-local addresses: scope 5. */ { { { 10, 0, 0, 0 } }, htonl_c (0xff000000), 5 }, { { { 172, 16, 0, 0 } }, htonl_c (0xfff00000), 5 }, { { { 192, 168, 0, 0 } }, htonl_c (0xffff0000), 5 }, +#endif /* Default: scope 14. */ { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 } };

