diff options
author | ume <ume@FreeBSD.org> | 2003-04-05 10:10:33 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2003-04-05 10:10:33 +0000 |
commit | bdc1f5ae63e6eff4b522c5d2193deaba5fab42bd (patch) | |
tree | 881426a70213cbce4dd9d3535ae4b3b332d5f435 | |
parent | 20b8c1f5c4bd34b9607842adebb9767f0f87ed52 (diff) | |
download | FreeBSD-src-bdc1f5ae63e6eff4b522c5d2193deaba5fab42bd.zip FreeBSD-src-bdc1f5ae63e6eff4b522c5d2193deaba5fab42bd.tar.gz |
When session is over, IPv6 default route to tun should be
removed, too.
MFC after: 1 week
-rw-r--r-- | usr.sbin/ppp/ncpaddr.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/ppp/ncpaddr.c b/usr.sbin/ppp/ncpaddr.c index 1f84f92..ea491f1 100644 --- a/usr.sbin/ppp/ncpaddr.c +++ b/usr.sbin/ppp/ncpaddr.c @@ -725,7 +725,10 @@ ncprange_setsa(struct ncprange *range, const struct sockaddr *host, case AF_INET6: range->ncprange_family = AF_INET6; range->ncprange_ip6addr = host6->sin6_addr; - range->ncprange_ip6width = mask6 ? mask62bits(&mask6->sin6_addr) : 128; + if (IN6_IS_ADDR_UNSPECIFIED(&host6->sin6_addr)) + range->ncprange_ip6width = 0; + else + range->ncprange_ip6width = mask6 ? mask62bits(&mask6->sin6_addr) : 128; break; #endif |