diff options
author | brian <brian@FreeBSD.org> | 1999-01-28 01:56:34 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1999-01-28 01:56:34 +0000 |
commit | c970e06ccf646c8d420b2216f605eefeef3cdc0d (patch) | |
tree | bb4ef8e30fe918a76dda062613ff6dce7f4acf28 /usr.sbin/ppp/bundle.h | |
parent | bada4b37ff3f7d5effb75895357b4276798f82de (diff) | |
download | FreeBSD-src-c970e06ccf646c8d420b2216f605eefeef3cdc0d.zip FreeBSD-src-c970e06ccf646c8d420b2216f605eefeef3cdc0d.tar.gz |
Initial RADIUS support (using libradius). See the man page for
details. Compiling with -DNORADIUS (the default for `release')
removes support.
TODO: The functionality in libradius::rad_send_request() needs
to be supplied as a set of routines so that ppp doesn't
have to wait indefinitely for the radius server(s). Instead,
we need to get a descriptor back, select() on the descriptor,
and ask libradius to service it when necessary.
For now, ppp blocks SIGALRM while in rad_send_request(), so
it misses PAP/CHAP retries & timeouts if they occur.
Only PAP is functional. When CHAP is attempted, libradius
complains that no User-Password has been specified... rfc2138
says that it *mustn't* be used for CHAP :-(
Sponsored by: Internet Business Solutions Ltd., Switzerland
Diffstat (limited to 'usr.sbin/ppp/bundle.h')
-rw-r--r-- | usr.sbin/ppp/bundle.h | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/usr.sbin/ppp/bundle.h b/usr.sbin/ppp/bundle.h index 0eb20e4..5e2866f 100644 --- a/usr.sbin/ppp/bundle.h +++ b/usr.sbin/ppp/bundle.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: bundle.h,v 1.19 1998/10/29 02:12:54 brian Exp $ + * $Id: bundle.h,v 1.20 1998/12/10 18:36:30 brian Exp $ */ #define PHASE_DEAD 0 /* Link is dead */ @@ -87,8 +87,8 @@ struct bundle { struct { int idle_timeout; /* NCP Idle timeout value */ struct { - char name[50]; /* PAP/CHAP system name */ - char key[50]; /* PAP/CHAP key */ + char name[AUTHLEN]; /* PAP/CHAP system name */ + char key[AUTHLEN]; /* PAP/CHAP key */ } auth; unsigned opt; /* Uses OPT_ bits from above */ char label[50]; /* last thing `load'ed */ @@ -102,7 +102,7 @@ struct bundle { } autoload; struct { - int timeout; /* How long to leave the output queue choked */ + int timeout; /* How long to leave the output queue choked */ } choked; } cfg; @@ -112,19 +112,19 @@ struct bundle { } ncp; struct { - struct filter in; /* incoming packet filter */ - struct filter out; /* outgoing packet filter */ - struct filter dial; /* dial-out packet filter */ - struct filter alive; /* keep-alive packet filter */ + struct filter in; /* incoming packet filter */ + struct filter out; /* outgoing packet filter */ + struct filter dial; /* dial-out packet filter */ + struct filter alive; /* keep-alive packet filter */ } filter; struct { - struct pppTimer timer; /* timeout after cfg.idle_timeout */ + struct pppTimer timer; /* timeout after cfg.idle_timeout */ time_t done; } idle; struct { - int fd; /* write status here */ + int fd; /* write status here */ } notify; struct { @@ -135,8 +135,12 @@ struct bundle { } autoload; struct { - struct pppTimer timer; /* choked output queue timer */ + struct pppTimer timer; /* choked output queue timer */ } choked; + +#ifndef NORADIUS + struct radius radius; /* Info retrieved from radius server */ +#endif }; #define descriptor2bundle(d) \ |