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