Annotation of embedaddon/mpd/src/eap.h, revision 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>