FT: Disable PMKSA cache for FT-IEEE8021X

wpa_supplicant uses XXKEY instead of PMK to derive PMK-R0 and PMK-R1 for
FT-IEEE8021X key mgmt.

Signed-off-by: Hong Wu <hong.wu@dspg.com>
This commit is contained in:
Hong Wu 2011-07-05 20:49:51 +03:00 committed by Jouni Malinen
parent cb465555d4
commit 715ed737dc

View file

@ -198,7 +198,8 @@ static int wpa_supplicant_get_pmk(struct wpa_sm *sm,
wpa_hexdump_key(MSG_DEBUG, "WPA: PMK from EAPOL state " wpa_hexdump_key(MSG_DEBUG, "WPA: PMK from EAPOL state "
"machines", sm->pmk, pmk_len); "machines", sm->pmk, pmk_len);
sm->pmk_len = pmk_len; sm->pmk_len = pmk_len;
if (sm->proto == WPA_PROTO_RSN) { if (sm->proto == WPA_PROTO_RSN &&
!wpa_key_mgmt_ft(sm->key_mgmt)) {
pmksa_cache_add(sm->pmksa, sm->pmk, pmk_len, pmksa_cache_add(sm->pmksa, sm->pmk, pmk_len,
src_addr, sm->own_addr, src_addr, sm->own_addr,
sm->network_ctx, sm->key_mgmt); sm->network_ctx, sm->key_mgmt);
@ -227,7 +228,8 @@ static int wpa_supplicant_get_pmk(struct wpa_sm *sm,
} }
} }
if (abort_cached && wpa_key_mgmt_wpa_ieee8021x(sm->key_mgmt)) { if (abort_cached && wpa_key_mgmt_wpa_ieee8021x(sm->key_mgmt) &&
!wpa_key_mgmt_ft(sm->key_mgmt)) {
/* Send EAPOL-Start to trigger full EAP authentication. */ /* Send EAPOL-Start to trigger full EAP authentication. */
u8 *buf; u8 *buf;
size_t buflen; size_t buflen;