If a RAD_FILTER_ID is supplied by the RADIUS server, treat it as an

additional label from ppp.linkup & ppp.linkdown to load.

Suggested and mostly submitted by: andrew pavlov <and@kremenchug.net>
This commit is contained in:
Brian Somers 2002-06-12 23:45:15 +00:00
parent aea6acb6da
commit 635ad5f021
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=98151
2 changed files with 20 additions and 1 deletions

View File

@ -873,6 +873,10 @@ IpcpLayerDown(struct fsm *fp)
radius_Account(&fp->bundle->radius, &fp->bundle->radacct,
fp->bundle->links, RAD_STOP, &ipcp->peer_ip, &ipcp->ifmask,
&ipcp->throughput);
if (fp->bundle->radius.cfg.file && fp->bundle->radius.filterid)
system_Select(fp->bundle, fp->bundle->radius.filterid, LINKDOWNFILE,
NULL, NULL);
#endif
/*
@ -936,6 +940,10 @@ IpcpLayerUp(struct fsm *fp)
#ifndef NORADIUS
radius_Account(&fp->bundle->radius, &fp->bundle->radacct, fp->bundle->links,
RAD_START, &ipcp->peer_ip, &ipcp->ifmask, &ipcp->throughput);
if (fp->bundle->radius.cfg.file && fp->bundle->radius.filterid)
system_Select(fp->bundle, fp->bundle->radius.filterid, LINKUPFILE,
NULL, NULL);
#endif
/*

View File

@ -5280,7 +5280,18 @@ will request VJ compression during IPCP negotiations despite any
.Dq disable vj
configuration command.
.It RAD_FILTER_ID
This attribute is stored but not yet used.
If this attribute is supplied,
.Nm
will attempt to use it as an additional label to load from the
.Pa ppp.linkup
and
.Pa ppp.linkdown
files.
The load will be attempted before (and in addition to) the normal
label search.
If the label doesn't exist, no action is taken and
.Nm
proceeds to the normal load using the current label.
.It RAD_FRAMED_ROUTE
The received string is expected to be in the format
.Ar dest Ns Op / Ns Ar bits