Annotation of embedaddon/mpd/src/eap.h, revision 1.1.1.4

1.1       misho       1: /*
                      2:  * See ``COPYRIGHT.mpd''
                      3:  *
1.1.1.4 ! misho       4:  * $Id: eap.h 2334 2019-01-05 00:35:19Z dadv $
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: 
                     80:   extern const struct cmdtab EapSetCmds[];
                     81: 
                     82:   /* Configuration for a link */
                     83:   struct eapconf {
                     84:     struct optinfo     options;        /* Configured options */
                     85:   };
                     86: 
                     87:   struct eapinfo {
                     88:     short              next_id;                /* Packet id */
                     89:     short              retry;                  /* Resend count */
                     90:     struct pppTimer    identTimer;             /* Identity timer */
                     91:     struct pppTimer    reqTimer;               /* Request timer */
                     92:     char               identity[AUTH_MAX_AUTHNAME];    /* Identity */
                     93:     u_char             peer_types[EAP_NUM_TYPES];      /* list of acceptable types */
                     94:     u_char             want_types[EAP_NUM_TYPES];      /* list of requestable types */
                     95:     struct eapconf     conf;                   /* Configured options */
                     96:   };
                     97:   typedef struct eapinfo       *EapInfo;
                     98: 
                     99:   struct authdata;
                    100: /*
                    101:  * FUNCTIONS
                    102:  */
                    103: 
                    104:   extern void  EapInit(Link l);
                    105:   extern void  EapStart(Link l, int which);
                    106:   extern void  EapStop(EapInfo eap);
                    107:   extern void  EapInput(Link l, struct authdata *auth, const u_char *pkt, u_short len);
                    108:   extern const char *EapCode(u_char code, char *buf, size_t len);
                    109:   extern const char *EapType(u_char type);
1.1.1.4 ! misho     110:   extern int   EapStat(Context ctx, int ac, const char *const av[], const void *arg);
1.1       misho     111: 
                    112: #endif
                    113: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>