mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-01 16:52:07 +08:00
* Nice Update of PPPD support which eliminates the requiremetn that drivers be in the termios TASK_DRIVEN mode. Mike did significant testing and reports that it seems to be more stable and handle larger packets better. This patch replaces the termios tasks with more general pppd network driver tasks. The functions pppinput() and pppstart() get called from the interrupt service routine. * Makefile.am, configure.ac, net/Makefile.am, net/bpf.h, net/ethernet.h, net/if.c, net/if.h, net/if_arp.h, net/if_dl.h, net/if_ethersubr.c, net/if_llc.h, net/if_loop.c, net/if_ppp.h, net/if_pppvar.h, net/if_types.h, net/netisr.h, net/ppp-comp.h, net/ppp_defs.h, net/pppcompress.h, net/radix.c, net/radix.h, net/raw_cb.c, net/raw_cb.h, net/raw_usrreq.c, net/route.c, net/route.h, net/rtsock.c, pppd/Makefile.am, pppd/README, pppd/STATUS, pppd/auth.c, pppd/cbcp.c, pppd/ccp.c, pppd/ccp.h, pppd/chap.c, pppd/chap.h, pppd/chap_ms.c, pppd/chap_ms.h, pppd/chat.c, pppd/demand.c, pppd/fsm.c, pppd/fsm.h, pppd/ipcp.c, pppd/ipcp.h, pppd/ipxcp.c, pppd/ipxcp.h, pppd/lcp.c, pppd/lcp.h, pppd/magic.c, pppd/magic.h, pppd/options.c, pppd/patchlevel.h, pppd/pathnames.h, pppd/pppd.8, pppd/pppd.h, pppd/rtemsmain.c, pppd/rtemspppd.c, pppd/rtemspppd.h, pppd/sys-rtems.c, pppd/upap.c, pppd/upap.h, pppd/utils.c, pppd/example/README, pppd/example/netconfig.h, wrapup/Makefile.am: Modified. * net/bsd-comp.c, net/if_ppp.c, net/ppp-deflate.c, net/ppp.h, net/ppp_tty.c, net/pppcompress.c, net/zlib.c, net/zlib.h: New file. * modem/, modem/.cvsignore, modem/Makefile.am, modem/ppp.c, modem/ppp.h, modem/ppp_tty.c, modem/pppcompress.c: Subdirectory removed.
88 lines
2.8 KiB
C
88 lines
2.8 KiB
C
/*
|
|
* upap.h - User/Password Authentication Protocol definitions.
|
|
*
|
|
* Copyright (c) 1989 Carnegie Mellon University.
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms are permitted
|
|
* provided that the above copyright notice and this paragraph are
|
|
* duplicated in all such forms and that any documentation,
|
|
* advertising materials, and other materials related to such
|
|
* distribution and use acknowledge that the software was developed
|
|
* by Carnegie Mellon University. The name of the
|
|
* University may not be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
|
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
/*
|
|
* Packet header = Code, id, length.
|
|
*/
|
|
#define UPAP_HEADERLEN 4
|
|
|
|
|
|
/*
|
|
* UPAP codes.
|
|
*/
|
|
#define UPAP_AUTHREQ 1 /* Authenticate-Request */
|
|
#define UPAP_AUTHACK 2 /* Authenticate-Ack */
|
|
#define UPAP_AUTHNAK 3 /* Authenticate-Nak */
|
|
|
|
|
|
/*
|
|
* Each interface is described by upap structure.
|
|
*/
|
|
typedef struct upap_state {
|
|
int us_unit; /* Interface unit number */
|
|
char *us_user; /* User */
|
|
int us_userlen; /* User length */
|
|
char *us_passwd; /* Password */
|
|
int us_passwdlen; /* Password length */
|
|
int us_clientstate; /* Client state */
|
|
int us_serverstate; /* Server state */
|
|
u_char us_id; /* Current id */
|
|
int us_timeouttime; /* Timeout (seconds) for auth-req retrans. */
|
|
int us_transmits; /* Number of auth-reqs sent */
|
|
int us_maxtransmits; /* Maximum number of auth-reqs to send */
|
|
int us_reqtimeout; /* Time to wait for auth-req from peer */
|
|
} upap_state;
|
|
|
|
|
|
/*
|
|
* Client states.
|
|
*/
|
|
#define UPAPCS_INITIAL 0 /* Connection down */
|
|
#define UPAPCS_CLOSED 1 /* Connection up, haven't requested auth */
|
|
#define UPAPCS_PENDING 2 /* Connection down, have requested auth */
|
|
#define UPAPCS_AUTHREQ 3 /* We've sent an Authenticate-Request */
|
|
#define UPAPCS_OPEN 4 /* We've received an Ack */
|
|
#define UPAPCS_BADAUTH 5 /* We've received a Nak */
|
|
|
|
/*
|
|
* Server states.
|
|
*/
|
|
#define UPAPSS_INITIAL 0 /* Connection down */
|
|
#define UPAPSS_CLOSED 1 /* Connection up, haven't requested auth */
|
|
#define UPAPSS_PENDING 2 /* Connection down, have requested auth */
|
|
#define UPAPSS_LISTEN 3 /* Listening for an Authenticate */
|
|
#define UPAPSS_OPEN 4 /* We've sent an Ack */
|
|
#define UPAPSS_BADAUTH 5 /* We've sent a Nak */
|
|
|
|
|
|
/*
|
|
* Timeouts.
|
|
*/
|
|
#define UPAP_DEFTIMEOUT 5 /* Timeout (seconds) for retransmitting req */
|
|
#define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */
|
|
|
|
extern upap_state upap[];
|
|
|
|
void upap_authwithpeer __P((int, char *, char *));
|
|
void upap_authpeer __P((int));
|
|
|
|
extern struct protent pap_protent;
|