static void eap_fast_derive_keys(struct eap_sm *sm, struct eap_fast_data *data) { if (data->anon_provisioning) eap_fast_derive_key_provisioning(sm, data); else eap_fast_derive_key_auth(sm, data); }
static int eap_fast_phase1_done(struct eap_sm *sm, struct eap_fast_data *data) { char cipher[64]; wpa_printf(MSG_DEBUG, "EAP-FAST: Phase1 done, starting Phase2"); if (tls_get_cipher(sm->ssl_ctx, data->ssl.conn, cipher, sizeof(cipher)) < 0) { wpa_printf(MSG_DEBUG, "EAP-FAST: Failed to get cipher " "information"); eap_fast_state(data, FAILURE); return -1; } data->anon_provisioning = os_strstr(cipher, "ADH") != NULL; if (data->anon_provisioning) { wpa_printf(MSG_DEBUG, "EAP-FAST: Anonymous provisioning"); eap_fast_derive_key_provisioning(sm, data); } else eap_fast_derive_key_auth(sm, data); eap_fast_state(data, PHASE2_START); return 0; }
static int eap_fast_derive_keys(struct eap_sm *sm, struct eap_fast_data *data) { int res; if (data->anon_provisioning) res = eap_fast_derive_key_provisioning(sm, data); else res = eap_fast_derive_key_auth(sm, data); return res; }