[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#468801: libc6: RFC3484 scoping rules should only affect IPv6, not IPv4



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  <drepper@redhat.com>
+
+	* 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  <thomas@schwinge.name>
 
 	* 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 }
   };

Reply to: