Annotation of embedaddon/mpd/src/eap.h, revision 1.1.1.1
1.1 misho 1: /*
2: * See ``COPYRIGHT.mpd''
3: *
4: * $Id: eap.h,v 1.12 2008/01/06 15:10:52 amotin Exp $
5: *
6: */
7:
8:
9: #ifndef _EAP_H_
10: #define _EAP_H_
11:
12: #include "mbuf.h"
13: #include "timer.h"
14:
15: /*
16: * DEFINITIONS
17: */
18:
19: #define EAP_NUM_TYPES EAP_TYPE_MSCHAP_V2
20: #define EAP_NUM_STDTYPES 3
21:
22: /* Configuration options */
23: enum {
24: EAP_CONF_RADIUS,
25: EAP_CONF_MD5
26: };
27:
28: enum {
29: EAP_REQUEST = 1,
30: EAP_RESPONSE,
31: EAP_SUCCESS,
32: EAP_FAILURE
33: };
34:
35: enum {
36: EAP_TYPE_IDENT = 1,
37: EAP_TYPE_NOTIF,
38: EAP_TYPE_NAK,
39: EAP_TYPE_MD5CHAL, /* MD5 Challenge */
40: EAP_TYPE_OTP, /* One Time Password */
41: EAP_TYPE_GTC, /* Generic Token Card */
42: EAP_TYPE_RSA_PUB_KEY_AUTH = 9, /* RSA Public Key Authentication */
43: EAP_TYPE_DSS_UNILITERAL, /* DSS Unilateral */
44: EAP_TYPE_KEA, /* KEA */
45: EAP_TYPE_TYPE_KEA_VALIDATE, /* KEA-VALIDATE */
46: EAP_TYPE_EAP_TLS, /* EAP-TLS RFC 2716 */
47: EAP_TYPE_DEFENDER_TOKEN, /* Defender Token (AXENT) */
48: EAP_TYPE_RSA_SECURID, /* RSA Security SecurID EAP */
49: EAP_TYPE_ARCOT, /* Arcot Systems EAP */
50: EAP_TYPE_LEAP, /* EAP-Cisco LEAP (MS-CHAP) */
51: EAP_TYPE_NOKIA_IP_SC, /* Nokia IP smart card authentication */
52: EAP_TYPE_SRP_SHA1_1, /* SRP-SHA1 Part 1 */
53: EAP_TYPE_SRP_SHA1_2, /* SRP-SHA1 Part 2 */
54: EAP_TYPE_EAP_TTLS, /* EAP-TTLS */
55: EAP_TYPE_RAS, /* Remote Access Service */
56: EAP_TYPE_UMTS, /* UMTS Authentication and Key Argreement */
57: EAP_TYPE_3COM_WIRELESS, /* EAP-3Com Wireless */
58: EAP_TYPE_PEAP, /* PEAP */
59: EAP_TYPE_MS, /* MS-EAP-Authentication */
60: EAP_TYPE_MAKE, /* MAKE, Mutual Authentication w/Key Exchange */
61: EAP_TYPE_CRYPTOCARD, /* CRYPTOCard */
62: EAP_TYPE_MSCHAP_V2, /* EAP-MSCHAP-V2 */
63: EAP_TYPE_DYNAMID, /* DynamID */
64: EAP_TYPE_ROB, /* Rob EAP */
65: EAP_TYPE_SECURID, /* SecurID EAP */
66: EAP_TYPE_MS_AUTH_TLV, /* MS-Authentication-TLV */
67: EAP_TYPE_SENTRINET, /* SentriNET */
68: EAP_TYPE_ACTIONTEC_WIRELESS,/* EAP-Actiontec Wireless */
69: EAP_TYPE_COGENT, /* Cogent Systems Biometrics Authentication EAP */
70: EAP_TYPE_AIRFORTRESS, /* AirFortress EAP */
71: EAP_TYPE_HTTP_DIGEST, /* EAP-HTTP Digest */
72: EAP_TYPE_SECURESUITE, /* SecureSuite EAP */
73: EAP_TYPE_DEVICECONNECT, /* DeviceConnect */
74: EAP_TYPE_SPEKE, /* EAP-SPEKE */
75: EAP_TYPE_MOBAC, /* EAP-MOBAC */
76: EAP_TYPE_FAST /* EAP-FAST */
77: };
78:
79: extern const struct cmdtab EapSetCmds[];
80:
81: /* Configuration for a link */
82: struct eapconf {
83: struct optinfo options; /* Configured options */
84: };
85:
86: struct eapinfo {
87: short next_id; /* Packet id */
88: short retry; /* Resend count */
89: struct pppTimer identTimer; /* Identity timer */
90: struct pppTimer reqTimer; /* Request timer */
91: char identity[AUTH_MAX_AUTHNAME]; /* Identity */
92: u_char peer_types[EAP_NUM_TYPES]; /* list of acceptable types */
93: u_char want_types[EAP_NUM_TYPES]; /* list of requestable types */
94: struct eapconf conf; /* Configured options */
95: };
96: typedef struct eapinfo *EapInfo;
97:
98: struct authdata;
99: /*
100: * FUNCTIONS
101: */
102:
103: extern void EapInit(Link l);
104: extern void EapStart(Link l, int which);
105: extern void EapStop(EapInfo eap);
106: extern void EapInput(Link l, struct authdata *auth, const u_char *pkt, u_short len);
107: extern const char *EapCode(u_char code, char *buf, size_t len);
108: extern const char *EapType(u_char type);
109: extern int EapStat(Context ctx, int ac, char *av[], void *arg);
110:
111: #endif
112:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>