summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libc/net/getaddrinfo.c4
-rw-r--r--lib/libc/net/getnameinfo.c11
-rw-r--r--lib/libipsec/policy_token.l2
-rw-r--r--sbin/setkey/token.l2
-rw-r--r--usr.sbin/setkey/token.l2
5 files changed, 9 insertions, 12 deletions
diff --git a/lib/libc/net/getaddrinfo.c b/lib/libc/net/getaddrinfo.c
index 8b6d6b7..a1f2726 100644
--- a/lib/libc/net/getaddrinfo.c
+++ b/lib/libc/net/getaddrinfo.c
@@ -709,7 +709,7 @@ explore_numeric_scope(pai, hostname, servname, res)
switch (pai->ai_family) {
#ifdef INET6
case AF_INET6:
- scope = if_nametoindex(hostname2);
+ scope = if_nametoindex(cp);
if (scope == 0) {
error = EAI_SYSTEM;
goto free;
@@ -718,7 +718,7 @@ explore_numeric_scope(pai, hostname, servname, res)
#endif
}
- error = explore_numeric(pai, cp, servname, res);
+ error = explore_numeric(pai, hostname2, servname, res);
if (error == 0) {
for (cur = *res; cur; cur = cur->ai_next) {
#ifdef INET6
diff --git a/lib/libc/net/getnameinfo.c b/lib/libc/net/getnameinfo.c
index 42f7906..5edcffb 100644
--- a/lib/libc/net/getnameinfo.c
+++ b/lib/libc/net/getnameinfo.c
@@ -199,14 +199,11 @@ getnameinfo(sa, salen, host, hostlen, serv, servlen, flags)
+ scopelen > hostlen)
return ENI_MEMORY;
/*
- * Shift the host string to allocate
- * space for the scope ID part.
+ * Construct <numeric-addr><delim><scopeid>
*/
- memmove(host + scopelen + 1, host, numaddrlen);
- /* copy the scope ID and the delimiter */
- memcpy(host, ifname, scopelen);
- host[scopelen] = SCOPE_DELIMITER;
- host[scopelen + 1 + numaddrlen] = '\0';
+ memcpy(host + numaddrlen + 1, ifname, scopelen);
+ host[numaddrlen] = SCOPE_DELIMITER;
+ host[numaddrlen + 1 + scopelen] = '\0';
}
}
#endif /* INET6 */
diff --git a/lib/libipsec/policy_token.l b/lib/libipsec/policy_token.l
index 1e7b714..c9737cb 100644
--- a/lib/libipsec/policy_token.l
+++ b/lib/libipsec/policy_token.l
@@ -79,7 +79,7 @@ decstring {digit}+
hexpair {hexdigit}{hexdigit}
hexstring 0[xX]{hexdigit}+
octetstring {octet}({dot}{octet})+
-ipaddress [a-zA-Z0-9:\._][a-zA-Z0-9:\._]*(@{letter}{letter}+)?
+ipaddress [a-zA-Z0-9:\._][a-zA-Z0-9:\._]*(%{letter}{letter}+)?
name {letter}(({letter}|{digit}|{hyphen})*({letter}|{digit}))*
hostname {name}(({dot}{name})+{dot}?)?
diff --git a/sbin/setkey/token.l b/sbin/setkey/token.l
index b75fd45..0154bee 100644
--- a/sbin/setkey/token.l
+++ b/sbin/setkey/token.l
@@ -108,7 +108,7 @@ hexstring 0[xX]{hexdigit}+
octetstring {octet}({dot}{octet})+
ipaddress {ipv4addr}|{ipv6addr}
ipv4addr {digit}{1,3}({dot}{digit}{1,3}){0,3}
-ipv6addr {hexdigit}{0,4}({colon}{hexdigit}{0,4}){2,7}(@{letter}{letter}+)?
+ipv6addr {hexdigit}{0,4}({colon}{hexdigit}{0,4}){2,7}(%{letter}{letter}+)?
ipaddrmask {slash}{digit}{1,3}
ipaddrport {blcl}{decstring}{elcl}
keyword {letter}{letter}+
diff --git a/usr.sbin/setkey/token.l b/usr.sbin/setkey/token.l
index b75fd45..0154bee 100644
--- a/usr.sbin/setkey/token.l
+++ b/usr.sbin/setkey/token.l
@@ -108,7 +108,7 @@ hexstring 0[xX]{hexdigit}+
octetstring {octet}({dot}{octet})+
ipaddress {ipv4addr}|{ipv6addr}
ipv4addr {digit}{1,3}({dot}{digit}{1,3}){0,3}
-ipv6addr {hexdigit}{0,4}({colon}{hexdigit}{0,4}){2,7}(@{letter}{letter}+)?
+ipv6addr {hexdigit}{0,4}({colon}{hexdigit}{0,4}){2,7}(%{letter}{letter}+)?
ipaddrmask {slash}{digit}{1,3}
ipaddrport {blcl}{decstring}{elcl}
keyword {letter}{letter}+
OpenPOWER on IntegriCloud