about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2012-09-28 10:15:05 -0600
committerJeff Law <law@redhat.com>2012-09-28 10:15:05 -0600
commit115411772b189e9e41a97618816edd66f0a9a620 (patch)
tree9b369d4cf5223eb0b4a855381d0ae37f4964b129
parent8cf6a02e77b49f24640d6c255e6148d941314f06 (diff)
downloadglibc-115411772b189e9e41a97618816edd66f0a9a620.tar.gz
glibc-115411772b189e9e41a97618816edd66f0a9a620.tar.xz
glibc-115411772b189e9e41a97618816edd66f0a9a620.zip
[BZ #11438]
        * sysdeps/posix/getaddrinfo.c (default_scopes): Map RFC 1918
        * addresses
        to global scope.
        * posix/tst-rfc3484.c: Verify 10/8, 172.16/12 and 196.128/16
        addresses are in the same scope as 192.0.2/24.
        * posix/gai.conf: Document new scope table defaults.
-rw-r--r--ChangeLog9
-rw-r--r--NEWS12
-rw-r--r--posix/gai.conf16
-rw-r--r--posix/tst-rfc3484.c5
-rw-r--r--sysdeps/posix/getaddrinfo.c4
5 files changed, 21 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog
index c277677f3b..27cf3a9503 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-09-28  Dmitry V. Levin  <ldv@altlinux.org>
+
+	[BZ #11438]
+	* sysdeps/posix/getaddrinfo.c (default_scopes): Map RFC 1918 addresses
+	to global scope.
+	* posix/tst-rfc3484.c: Verify 10/8, 172.16/12 and 196.128/16
+	addresses are in the same scope as 192.0.2/24.
+	* posix/gai.conf: Document new scope table defaults.
+
 2012-09-28  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	[BZ #5298]
diff --git a/NEWS b/NEWS
index b8a01efe9b..7b3f6314fb 100644
--- a/NEWS
+++ b/NEWS
@@ -10,12 +10,12 @@ Version 2.17
 * The following bugs are resolved with this release:
 
   1349, 3479, 5044, 5298, 5400, 6778, 6808, 9685, 9914, 10014, 10038,
-  11607, 13412, 13542, 13629, 13679, 13696, 13717, 13741, 13939, 13966,
-  14042, 14090, 14150, 14151, 14154, 14157, 14166, 14173, 14195, 14237,
-  14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347,
-  14349, 14376, 14459, 14476, 14505, 14510, 14516, 14518, 14519, 14530,
-  14532, 14538, 14543, 14544, 14545, 14562, 14576, 14579, 14583, 14587,
-  14621.
+  11438, 11607, 13412, 13542, 13629, 13679, 13696, 13717, 13741, 13939,
+  13966, 14042, 14090, 14150, 14151, 14154, 14157, 14166, 14173, 14195,
+  14237, 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337,
+  14347, 14349, 14376, 14459, 14476, 14505, 14510, 14516, 14518, 14519,
+  14530, 14532, 14538, 14543, 14544, 14545, 14562, 14576, 14579, 14583,
+  14587, 14621.
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and
diff --git a/posix/gai.conf b/posix/gai.conf
index 195287e1c8..4616ed005b 100644
--- a/posix/gai.conf
+++ b/posix/gai.conf
@@ -55,23 +55,11 @@
 
 #
 # 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
+#    Add another rule to the RFC 6724 scope table for IPv4 addresses.
+#    By default the scope IDs described in section 3.2 in RFC 6724 are
 #    used.  Changing these defaults should hardly ever be necessary.
 #    The defaults are equivalent to:
 #
 #scopev4 ::ffff:169.254.0.0/112  2
 #scopev4 ::ffff:127.0.0.0/104    2
-#scopev4 ::ffff:10.0.0.0/104     5
-#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.  To change
-#    this use only these rules:
-#
-#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/posix/tst-rfc3484.c b/posix/tst-rfc3484.c
index 29e1461e11..db3ae1b7bb 100644
--- a/posix/tst-rfc3484.c
+++ b/posix/tst-rfc3484.c
@@ -71,6 +71,9 @@ service_user *__nss_hosts_database attribute_hidden;
 
 struct sockaddr_in addrs[] =
 {
+  { .sin_family = AF_INET, .sin_addr = { h (0x0aa85f19) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xac105f19) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xc0000219) } },
   { .sin_family = AF_INET, .sin_addr = { h (0xc0a86d1d) } },
   { .sin_family = AF_INET, .sin_addr = { h (0xc0a85d03) } },
   { .sin_family = AF_INET, .sin_addr = { h (0xc0a82c3d) } },
@@ -86,7 +89,7 @@ static size_t order[naddrs];
 
 static int expected[naddrs] =
   {
-    6, 1, 0, 3, 2, 4, 5
+    9, 4, 3, 6, 5, 7, 8, 2, 0, 1
   };
 
 
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 05883bd55f..672571ef23 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -1369,10 +1369,6 @@ 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 },
-    /* 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 },
     /* Default: scope 14.  */
     { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 }
   };