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>