diff options
author | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2002-07-09 11:50:59 +0000 |
---|---|---|
committer | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2002-07-09 11:50:59 +0000 |
commit | d374f808543f568f89fcfc344fe227199aa7e0d1 (patch) | |
tree | d8bbfc46a75f04efaa2d5ed56223476c99caec33 /sbin | |
parent | 9fb2be44da1186332cab222f76bf09c57898e288 (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.y | 5 |
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; |