Fix EAPOL_SM_USES_WPA flag to be set correctly

Commit c02d52b405 removed direct calls
to the WPA authenticator, but the change here was incorrect.
EAPOL_SM_USES_WPA was supposed to be set based on sta->wpa_sm being
set, i.e., no need to check for PMKSA entries for that.

While this could potentially change EAPOL Key TX state machine behavior,
no clear problems have been identified so far. Anyway, better fix this
to get the correct flags set for EAPOL authenticator state machine.
This commit is contained in:
Jouni Malinen 2010-05-01 17:12:59 +03:00
parent 3ab72b626b
commit 439d4bf960

View file

@ -646,8 +646,7 @@ ieee802_1x_alloc_eapol_sm(struct hostapd_data *hapd, struct sta_info *sta)
if (sta->flags & WLAN_STA_PREAUTH) if (sta->flags & WLAN_STA_PREAUTH)
flags |= EAPOL_SM_PREAUTH; flags |= EAPOL_SM_PREAUTH;
if (sta->wpa_sm) { if (sta->wpa_sm) {
if (wpa_auth_sta_get_pmksa(sta->wpa_sm)) flags |= EAPOL_SM_USES_WPA;
flags |= EAPOL_SM_USES_WPA;
if (wpa_auth_sta_get_pmksa(sta->wpa_sm)) if (wpa_auth_sta_get_pmksa(sta->wpa_sm))
flags |= EAPOL_SM_FROM_PMKSA_CACHE; flags |= EAPOL_SM_FROM_PMKSA_CACHE;
} }