32 #ifndef __EAP_LEAP_H__ 33 #define __EAP_LEAP_H__ 39 #if (defined(__ENABLE_MOCANA_EAP_PEER__) || defined(__ENABLE_MOCANA_EAP_AUTH__)) 41 #define LEAP_CHALLENGE_LEN (8) 42 #define LEAP_PW_HASH_HASH_LEN (16) 43 #define LEAP_KEY_LEN (16) 44 #define LEAP_CHALLENGE_RESPONSE_LEN (24) 45 #define LEAP_HDR_LEN (3) 46 #define LEAP_VERSION (0x01) 52 typedef enum eapLeapState_e
56 LEAP_PEER_WAIT_SUCCESS,
57 LEAP_PEER_CHALLENGE_SENT,
62 LEAP_AUTH_CHALLENGE_SENT,
63 LEAP_AUTH_WAIT_CHALLENGE,
69 typedef struct eapLeapCb_s
72 ubyte pw_hash_hash[LEAP_PW_HASH_HASH_LEN];
73 ubyte peerChallenge[LEAP_CHALLENGE_LEN];
74 ubyte authChallenge[LEAP_CHALLENGE_LEN];
75 ubyte peerResponse[LEAP_CHALLENGE_RESPONSE_LEN];
76 ubyte authResponse[LEAP_CHALLENGE_RESPONSE_LEN];
122 MOC_EXTERN MSTATUS
EAP_LEAPinitSession(
void *appCb,
void **p_eapLeapCb, ubyte sessionType);
166 MOC_EXTERN MSTATUS
EAP_LEAP_buildChallenge(eapLeapCb_t *leapCb, ubyte sessionType, ubyte *identity, ubyte2 identityLen, ubyte **eapRespData, ubyte4 *eapRespLen);
218 MOC_EXTERN MSTATUS
EAP_LEAP_processPeer(
void *eapLeapCb, ubyte code, ubyte *data, ubyte4 len, ubyte *passwd, ubyte2 passwdLen, ubyte *identity, ubyte2 identityLen, eapCode *p_sendCode, ubyte **pKey, ubyte **eapRespData, ubyte4 *eapRespLen);
265 MOC_EXTERN MSTATUS
EAP_LEAP_processAuth(
void *eapLeapCb, ubyte code, ubyte *data, ubyte4 len, ubyte *passwd, ubyte2 passwdLen, eapCode *p_sendCode, ubyte **eapRespData, ubyte4 *eapRespLen);
304 ubyte *key, ubyte4 keyLen );
MOC_EXTERN MSTATUS EAP_LEAPdeleteSession(void *p_eapLeapCb)
Delete an EAP-LEAP session.
MOC_EXTERN MSTATUS EAP_LEAP_processPeer(void *eapLeapCb, ubyte code, ubyte *data, ubyte4 len, ubyte *passwd, ubyte2 passwdLen, ubyte *identity, ubyte2 identityLen, eapCode *p_sendCode, ubyte **pKey, ubyte **eapRespData, ubyte4 *eapRespLen)
Process a LEAP packet received by a peer.
MOC_EXTERN MSTATUS EAP_LEAP_processAuth(void *eapLeapCb, ubyte code, ubyte *data, ubyte4 len, ubyte *passwd, ubyte2 passwdLen, eapCode *p_sendCode, ubyte **eapRespData, ubyte4 *eapRespLen)
Process a LEAP packet received by an authenticator.
MOC_EXTERN MSTATUS EAP_LEAP_buildChallenge(eapLeapCb_t *leapCb, ubyte sessionType, ubyte *identity, ubyte2 identityLen, ubyte **eapRespData, ubyte4 *eapRespLen)
Generate a LEAP challenge packet.
MOC_EXTERN MSTATUS EAP_LEAP_getKey(void *eapLeapCb, ubyte *key, ubyte4 keyLen)
Get EAP-LEAP session's shared key.
MOC_EXTERN MSTATUS EAP_LEAPinitSession(void *appCb, void **p_eapLeapCb, ubyte sessionType)
Create and initialize an EAP-LEAP session.