diff options
author | ume <ume@FreeBSD.org> | 2012-01-07 09:01:19 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2012-01-07 09:01:19 +0000 |
commit | 6ccd11eb82acf6a486f18617bb71ce7a4e6a3a50 (patch) | |
tree | b5b0fac9634d147bab0b77165ecfc1c26c35a0fa /lib/libc | |
parent | 6707636c2f8076f7d1a57ec36c55521062e7ca0a (diff) | |
download | FreeBSD-src-6ccd11eb82acf6a486f18617bb71ce7a4e6a3a50.zip FreeBSD-src-6ccd11eb82acf6a486f18617bb71ce7a4e6a3a50.tar.gz |
Handle the internal scope address representation of the KAME IPv6
stack for the node-local multicast address.
Spotted by: Rainer Bredehorn <Bredehorn__at__gmx.de>
MFC after: 1 week
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/net/getaddrinfo.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/net/getaddrinfo.c b/lib/libc/net/getaddrinfo.c index 830e464..37f09f8 100644 --- a/lib/libc/net/getaddrinfo.c +++ b/lib/libc/net/getaddrinfo.c @@ -1576,7 +1576,8 @@ ip6_str2scopeid(char *scope, struct sockaddr_in6 *sin6, u_int32_t *scopeid) if (*scope == '\0') return -1; - if (IN6_IS_ADDR_LINKLOCAL(a6) || IN6_IS_ADDR_MC_LINKLOCAL(a6)) { + if (IN6_IS_ADDR_LINKLOCAL(a6) || IN6_IS_ADDR_MC_LINKLOCAL(a6) || + IN6_IS_ADDR_MC_NODELOCAL(a6)) { /* * We currently assume a one-to-one mapping between links * and interfaces, so we simply use interface indices for |