From f768b450204f54b080ea5dc5c2071940604b424c Mon Sep 17 00:00:00 2001 From: Benjamin Cama Date: Thu, 22 Jun 2017 15:49:28 +0200 Subject: inet: __inet6_scopeid_pton should accept node-local addresses [BZ #21657] --- ChangeLog | 7 +++++++ inet/inet6_scopeid_pton.c | 1 + inet/tst-inet6_scopeid_pton.c | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 46a70ff7ce..72ab9bed63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-06-21 Benjamin Cama + + [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 * intl/loadmsgcat.c: Remove alloca support. diff --git a/inet/inet6_scopeid_pton.c b/inet/inet6_scopeid_pton.c index f842ffcadb..e09b1cb34d 100644 --- a/inet/inet6_scopeid_pton.c +++ b/inet/inet6_scopeid_pton.c @@ -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); diff --git a/inet/tst-inet6_scopeid_pton.c b/inet/tst-inet6_scopeid_pton.c index a1bafa9021..8225b3b80a 100644 --- a/inet/tst-inet6_scopeid_pton.c +++ b/inet/tst-inet6_scopeid_pton.c @@ -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); } -- cgit v1.2.3