inet: __inet6_scopeid_pton should accept node-local addresses [BZ #21657]
authorBenjamin Cama <b.cama@kerlink.fr>
Thu, 22 Jun 2017 13:49:28 +0000 (15:49 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 22 Jun 2017 13:49:28 +0000 (15:49 +0200)
ChangeLog
inet/inet6_scopeid_pton.c
inet/tst-inet6_scopeid_pton.c

index 46a70ff..72ab9be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-06-21  Benjamin Cama  <b.cama@kerlink.fr>
+
+       [BZ #21657]
+       * inet/inet6_scopeid_pton.c (__inet6_scopeid_pton): Permit scopes
+       on node-local addresses.
+       * inet/tst-inet6_scopeid_pton.c (do_test): Adjust test.
+
 2017-06-21  Florian Weimer  <fweimer@redhat.com>
 
        * intl/loadmsgcat.c: Remove alloca support.
index f842ffc..e09b1cb 100644 (file)
@@ -33,6 +33,7 @@ __inet6_scopeid_pton (const struct in6_addr *address, const char *scope,
                       uint32_t *result)
 {
   if (IN6_IS_ADDR_LINKLOCAL (address)
+      || IN6_IS_ADDR_MC_NODELOCAL (address)
       || IN6_IS_ADDR_MC_LINKLOCAL (address))
     {
       uint32_t number = __if_nametoindex (scope);
index a1bafa9..8225b3b 100644 (file)
@@ -218,9 +218,9 @@ do_test (void)
     {
       expect_success ("fe80::1", interface_name, interface_index);
       expect_success ("ff02::1", interface_name, interface_index);
+      expect_success ("ff01::1", interface_name, interface_index);
       expect_failure ("::", interface_name);
       expect_failure ("::1", interface_name);
-      expect_failure ("ff01::1", interface_name);
       expect_failure ("2001:db8::1", interface_name);
     }