summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp
diff options
context:
space:
mode:
authorhosokawa <hosokawa@FreeBSD.org>2002-04-04 08:43:00 +0000
committerhosokawa <hosokawa@FreeBSD.org>2002-04-04 08:43:00 +0000
commitcce077344bcc866ffb03becd934b09729f56f21e (patch)
treea7c7b3bb782616a1d7d7b4f81e65734c3e1b5556 /usr.sbin/ppp
parent2abc929acf45e4b1368a06f92fdc395f3fd1fe17 (diff)
downloadFreeBSD-src-cce077344bcc866ffb03becd934b09729f56f21e.zip
FreeBSD-src-cce077344bcc866ffb03becd934b09729f56f21e.tar.gz
Get tun P2P address from the local pool if RADIUS server returned
255.255.255.254 as client ipaddr. Reviewed-By: freebsd-net mailing list
Diffstat (limited to 'usr.sbin/ppp')
-rw-r--r--usr.sbin/ppp/auth.c3
-rw-r--r--usr.sbin/ppp/radius.h3
2 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/ppp/auth.c b/usr.sbin/ppp/auth.c
index 9085c08..1368cc3 100644
--- a/usr.sbin/ppp/auth.c
+++ b/usr.sbin/ppp/auth.c
@@ -170,7 +170,8 @@ auth_Select(struct bundle *bundle, const char *name)
}
#ifndef NORADIUS
- if (bundle->radius.valid && bundle->radius.ip.s_addr != INADDR_NONE) {
+ if (bundle->radius.valid && bundle->radius.ip.s_addr != INADDR_NONE &&
+ bundle->radius.ip.s_addr != RADIUS_INADDR_POOL) {
/* We've got a radius IP - it overrides everything */
if (!ipcp_UseHisIPaddr(bundle, bundle->radius.ip))
return 0;
diff --git a/usr.sbin/ppp/radius.h b/usr.sbin/ppp/radius.h
index ca54615..152df3f 100644
--- a/usr.sbin/ppp/radius.h
+++ b/usr.sbin/ppp/radius.h
@@ -76,3 +76,6 @@ extern void radius_Account(struct radius *, struct radacct *,
#define RAD_START 1
#define RAD_STOP 2
#endif
+
+/* Get address from NAS pool */
+#define RADIUS_INADDR_POOL htonl(0xfffffffe) /* 255.255.255.254 */
OpenPOWER on IntegriCloud