Sophie

Sophie

distrib > Mandriva > 2010.2 > x86_64 > by-pkgid > e0ecf1de97625bd665ba6741f8b282d6 > files > 38

glibc-2.11.1-8mnb2.src.rpm

See https://qa.mandriva.com/show_bug.cgi?id=58834
Patch from bug report, updated for glibc 2.11 in Mandriva

diff --git a/posix/gai.conf b/posix/gai.conf
index 195287e..b09ba10 100644
--- a/posix/gai.conf
+++ b/posix/gai.conf
@@ -56,9 +56,7 @@
 #
 # scopev4  <mask>  <value>
 #    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 3484 are equivalent to:
 #
 #scopev4 ::ffff:169.254.0.0/112  2
 #scopev4 ::ffff:127.0.0.0/104    2
@@ -66,3 +64,12 @@
 #scopev4 ::ffff:172.16.0.0/108   5
 #scopev4 ::ffff:192.168.0.0/112  5
 #scopev4 ::ffff:0.0.0.0/96       14
+#
+#    For sites which use site-local IPv4 addresses behind NAT there is
+#    the problem that even if IPv4 addresses are preferred they do not
+#    have the same scope and are therefore not sorted first.  Therefore,
+#    the following settings are used by default on this system:
+#
+#scopev4 ::ffff:169.254.0.0/112  2
+#scopev4 ::ffff:127.0.0.0/104    2
+#scopev4 ::ffff:0.0.0.0/96       14
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 2e0c724..3eb5971 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/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 }
   };