summaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2002-07-09 11:50:59 +0000
committerJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2002-07-09 11:50:59 +0000
commitd374f808543f568f89fcfc344fe227199aa7e0d1 (patch)
treed8bbfc46a75f04efaa2d5ed56223476c99caec33 /sbin
parent9fb2be44da1186332cab222f76bf09c57898e288 (diff)
check sin6_scope_id field, just in case we change the routing socket API
for scoped address (unlikely due to the deployed codebase...).
Diffstat (limited to 'sbin')
-rw-r--r--sbin/pfctl/parse.y5
1 files changed, 3 insertions, 2 deletions
diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y
index 9d71cf4d506..a93824f49eb 100644
--- a/sbin/pfctl/parse.y
+++ b/sbin/pfctl/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.115 2002/07/09 11:49:02 itojun Exp $ */
+/* $OpenBSD: parse.y,v 1.116 2002/07/09 11:50:58 itojun Exp $ */
/*
* Copyright (c) 2001 Markus Friedl. All rights reserved.
@@ -2555,7 +2555,8 @@ ifa_load(void)
}
#ifdef __KAME__
if (ifa->ifa_addr->sa_family == AF_INET6 &&
- IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) {
+ IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr) &&
+ ((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_scope_id == 0) {
struct sockaddr_in6 *sin6;
sin6 = (struct sockaddr_in6 *)ifa->ifa_addr;