summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2003-06-21 10:14:52 +0000
committerume <ume@FreeBSD.org>2003-06-21 10:14:52 +0000
commit9a0ed1c6dea0c83fc0285c4b45a67645547ec948 (patch)
treef25e4c3a8e869211c637e8441f813a958d90be41 /usr.sbin
parent42a4ac2ba155df6528169756bac0af28385f0e39 (diff)
downloadFreeBSD-src-9a0ed1c6dea0c83fc0285c4b45a67645547ec948.zip
FreeBSD-src-9a0ed1c6dea0c83fc0285c4b45a67645547ec948.tar.gz
Though manpage says that 0.0.0.0 can be used as HISADDR for gw
in Framed-Route, it didn't work. Since ncprange_aton() treats 0.0.0.0 and :: as prefixlen=0, we need to care the case. MFC after: 1 week
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ppp/ncpaddr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/ppp/ncpaddr.c b/usr.sbin/ppp/ncpaddr.c
index e4f7084..112cfbc 100644
--- a/usr.sbin/ppp/ncpaddr.c
+++ b/usr.sbin/ppp/ncpaddr.c
@@ -418,13 +418,15 @@ ncpaddr_aton(struct ncpaddr *addr, struct ncp *ncp, const char *data)
if (!ncprange_aton(&range, ncp, data))
return 0;
- if (range.ncprange_family == AF_INET && range.ncprange_ip4width != 32) {
+ if (range.ncprange_family == AF_INET && range.ncprange_ip4width != 32 &&
+ range.ncprange_ip4addr.s_addr != INADDR_ANY) {
log_Printf(LogWARN, "ncpaddr_aton: %s: Only 32 bits allowed\n", data);
return 0;
}
#ifndef NOINET6
- if (range.ncprange_family == AF_INET6 && range.ncprange_ip6width != 128) {
+ if (range.ncprange_family == AF_INET6 && range.ncprange_ip6width != 128 &&
+ !IN6_IS_ADDR_UNSPECIFIED(&range.ncprange_ip6addr)) {
log_Printf(LogWARN, "ncpaddr_aton: %s: Only 128 bits allowed\n", data);
return 0;
}
OpenPOWER on IntegriCloud