]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
FILS: Do not clear PTK on FILS Auth/Assoc (AP)
authorJouni Malinen <jouni@qca.qualcomm.com>
Tue, 8 Sep 2015 22:17:30 +0000 (01:17 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 22 Oct 2016 15:11:14 +0000 (18:11 +0300)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/ap/ap_mlme.c

index e7308a01d7432f3fb5ea0d6bcda4a7f4bdb412ee..db8a26759c2868f4a925d47abaa47da8745529ce 100644 (file)
@@ -57,7 +57,11 @@ void mlme_authenticate_indication(struct hostapd_data *hapd,
                       HOSTAPD_LEVEL_DEBUG,
                       "MLME-AUTHENTICATE.indication(" MACSTR ", %s)",
                       MAC2STR(sta->addr), mlme_auth_alg_str(sta->auth_alg));
-       if (sta->auth_alg != WLAN_AUTH_FT && !(sta->flags & WLAN_STA_MFP))
+       if (sta->auth_alg != WLAN_AUTH_FT &&
+           sta->auth_alg != WLAN_AUTH_FILS_SK &&
+           sta->auth_alg != WLAN_AUTH_FILS_SK_PFS &&
+           sta->auth_alg != WLAN_AUTH_FILS_PK &&
+           !(sta->flags & WLAN_STA_MFP))
                mlme_deletekeys_request(hapd, sta);
        ap_sta_clear_disconnect_timeouts(hapd, sta);
 }
@@ -105,7 +109,10 @@ void mlme_associate_indication(struct hostapd_data *hapd, struct sta_info *sta)
                       HOSTAPD_LEVEL_DEBUG,
                       "MLME-ASSOCIATE.indication(" MACSTR ")",
                       MAC2STR(sta->addr));
-       if (sta->auth_alg != WLAN_AUTH_FT)
+       if (sta->auth_alg != WLAN_AUTH_FT &&
+           sta->auth_alg != WLAN_AUTH_FILS_SK &&
+           sta->auth_alg != WLAN_AUTH_FILS_SK_PFS &&
+           sta->auth_alg != WLAN_AUTH_FILS_PK)
                mlme_deletekeys_request(hapd, sta);
        ap_sta_clear_disconnect_timeouts(hapd, sta);
 }
@@ -130,7 +137,10 @@ void mlme_reassociate_indication(struct hostapd_data *hapd,
                       HOSTAPD_LEVEL_DEBUG,
                       "MLME-REASSOCIATE.indication(" MACSTR ")",
                       MAC2STR(sta->addr));
-       if (sta->auth_alg != WLAN_AUTH_FT)
+       if (sta->auth_alg != WLAN_AUTH_FT &&
+           sta->auth_alg != WLAN_AUTH_FILS_SK &&
+           sta->auth_alg != WLAN_AUTH_FILS_SK_PFS &&
+           sta->auth_alg != WLAN_AUTH_FILS_PK)
                mlme_deletekeys_request(hapd, sta);
        ap_sta_clear_disconnect_timeouts(hapd, sta);
 }