glibc/glibc-rh168253-inet6_scopeid_pton-node-local.patch
Florian Weimer 8597553f96 Rebase DNS stub resolver to the glibc 2.26 version
- Support an arbitrary number of search domains (#168253)
- Detect and apply /etc/resolv.conf changes in libresolv (#1374239)
- CVE-2015-5180: DNS stub resolver crash with crafted record type (#1251403)
2017-10-11 14:41:27 +02:00

34 lines
1.3 KiB
Diff

commit f768b450204f54b080ea5dc5c2071940604b424c
Author: Benjamin Cama <b.cama@kerlink.fr>
Date: Thu Jun 22 15:49:28 2017 +0200
inet: __inet6_scopeid_pton should accept node-local addresses [BZ #21657]
diff --git a/inet/inet6_scopeid_pton.c b/inet/inet6_scopeid_pton.c
index f842ffcadb391960..e09b1cb34dcc9424 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 a1bafa9021c5cf3b..8225b3b80abe6331 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);
}