source: rtems/cpukit/pppd/upap.h @ abb63593

4.104.114.84.95
Last change on this file since abb63593 was 0286b9f, checked in by Joel Sherrill <joel.sherrill@…>, on 01/31/02 at 21:42:11

2001-01-31 Mike Siers <mikes@…>

  • 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.
  • Property mode set to 100644
File size: 2.8 KB
Line 
1/*
2 * upap.h - User/Password Authentication Protocol definitions.
3 *
4 * Copyright (c) 1989 Carnegie Mellon University.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms are permitted
8 * provided that the above copyright notice and this paragraph are
9 * duplicated in all such forms and that any documentation,
10 * advertising materials, and other materials related to such
11 * distribution and use acknowledge that the software was developed
12 * by Carnegie Mellon University.  The name of the
13 * University may not be used to endorse or promote products derived
14 * from this software without specific prior written permission.
15 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
16 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
17 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18 *
19 * $Id$
20 */
21
22/*
23 * Packet header = Code, id, length.
24 */
25#define UPAP_HEADERLEN  4
26
27
28/*
29 * UPAP codes.
30 */
31#define UPAP_AUTHREQ    1       /* Authenticate-Request */
32#define UPAP_AUTHACK    2       /* Authenticate-Ack */
33#define UPAP_AUTHNAK    3       /* Authenticate-Nak */
34
35
36/*
37 * Each interface is described by upap structure.
38 */
39typedef struct upap_state {
40    int us_unit;                /* Interface unit number */
41    char *us_user;              /* User */
42    int us_userlen;             /* User length */
43    char *us_passwd;            /* Password */
44    int us_passwdlen;           /* Password length */
45    int us_clientstate;         /* Client state */
46    int us_serverstate;         /* Server state */
47    u_char us_id;               /* Current id */
48    int us_timeouttime;         /* Timeout (seconds) for auth-req retrans. */
49    int us_transmits;           /* Number of auth-reqs sent */
50    int us_maxtransmits;        /* Maximum number of auth-reqs to send */
51    int us_reqtimeout;          /* Time to wait for auth-req from peer */
52} upap_state;
53
54
55/*
56 * Client states.
57 */
58#define UPAPCS_INITIAL  0       /* Connection down */
59#define UPAPCS_CLOSED   1       /* Connection up, haven't requested auth */
60#define UPAPCS_PENDING  2       /* Connection down, have requested auth */
61#define UPAPCS_AUTHREQ  3       /* We've sent an Authenticate-Request */
62#define UPAPCS_OPEN     4       /* We've received an Ack */
63#define UPAPCS_BADAUTH  5       /* We've received a Nak */
64
65/*
66 * Server states.
67 */
68#define UPAPSS_INITIAL  0       /* Connection down */
69#define UPAPSS_CLOSED   1       /* Connection up, haven't requested auth */
70#define UPAPSS_PENDING  2       /* Connection down, have requested auth */
71#define UPAPSS_LISTEN   3       /* Listening for an Authenticate */
72#define UPAPSS_OPEN     4       /* We've sent an Ack */
73#define UPAPSS_BADAUTH  5       /* We've sent a Nak */
74
75
76/*
77 * Timeouts.
78 */
79#define UPAP_DEFTIMEOUT 5       /* Timeout (seconds) for retransmitting req */
80#define UPAP_DEFREQTIME 30      /* Time to wait for auth-req from peer */
81
82extern upap_state upap[];
83
84void upap_authwithpeer __P((int, char *, char *));
85void upap_authpeer __P((int));
86
87extern struct protent pap_protent;
Note: See TracBrowser for help on using the repository browser.