24 #if PPP_SUPPORT && EAP_SUPPORT 38 #define EAP_HEADERLEN 4 43 #define EAP_RESPONSE 2 48 #define EAPT_IDENTITY 1 49 #define EAPT_NOTIFICATION 2 51 #define EAPT_MD5CHAP 4 58 #define EAPT_KEA_VALIDATE 12 60 #define EAPT_DEFENDER 14 63 #define EAPT_CISCOWIRELESS 17 64 #define EAPT_NOKIACARD 18 69 #define EAPSRP_CHALLENGE 1 72 #define EAPSRP_CVALIDATOR 2 73 #define EAPSRP_SVALIDATOR 3 75 #define EAPSRP_LWRECHALLENGE 4 77 #define SRPVAL_EBIT 0x00000001 79 #define SRP_PSEUDO_ID "pseudo_" 80 #define SRP_PSEUDO_LEN 7 82 #define MD5_SIGNATURE_SIZE 16 83 #define EAP_MIN_CHALLENGE_LENGTH 17 84 #define EAP_MAX_CHALLENGE_LENGTH 24 85 #define EAP_MIN_MAX_POWER_OF_TWO_CHALLENGE_LENGTH 3 88 "Initial", "Pending", "Closed", "Listen", "Identify", \ 89 "SRP1", "SRP2", "SRP3", "MD5Chall", "Open", "SRP4", "BadAuth" 91 #define eap_client_active(pcb) ((pcb)->eap.es_client.ea_state == eapListen) 93 #define eap_server_active(pcb) \ 94 ((pcb)->eap.es_server.ea_state >= eapIdentify && \ 95 (pcb)->eap.es_server.ea_state <= eapMD5Chall) 101 enum eap_state_code {
118 char ea_peer[MAXNAMELEN +1];
123 enum eap_state_code ea_state;
131 #ifndef EAP_MAX_CHALLENGE_LENGTH 132 #define EAP_MAX_CHALLENGE_LENGTH 24 134 typedef struct eap_state {
135 struct eap_auth es_client;
137 struct eap_auth es_server;
141 int es_lwrechallenge;
145 u_char es_challenge[EAP_MAX_CHALLENGE_LENGTH];
152 #define EAP_DEFTIMEOUT 3 153 #define EAP_DEFTRANSMITS 10 154 #define EAP_DEFREQTIME 20 155 #define EAP_DEFALLOWREQ 20 158 void eap_authwithpeer(ppp_pcb *pcb,
const char *localname);
159 void eap_authpeer(ppp_pcb *pcb,
const char *localname);
161 extern const struct protent eap_protent;