]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
FILS: Allow hostapd to select FILS AKM for connection
authorJouni Malinen <jouni@qca.qualcomm.com>
Wed, 2 Sep 2015 12:58:23 +0000 (15:58 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 10 Oct 2016 18:11:46 +0000 (21:11 +0300)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/ap/wpa_auth_ie.c

index 4e735f6c38fe4abc64cb5aa9e6de5d408567f8cb..df5f844b26f9b9ea9bae9eaf428bbfc226d90459 100644 (file)
@@ -533,6 +533,18 @@ int wpa_validate_wpa_ie(struct wpa_authenticator *wpa_auth,
                        selector = RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192;
                else if (data.key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B)
                        selector = RSN_AUTH_KEY_MGMT_802_1X_SUITE_B;
+#ifdef CONFIG_FILS
+#ifdef CONFIG_IEEE80211R
+               else if (data.key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA384)
+                       selector = RSN_AUTH_KEY_MGMT_FT_FILS_SHA384;
+               else if (data.key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA256)
+                       selector = RSN_AUTH_KEY_MGMT_FT_FILS_SHA256;
+#endif /* CONFIG_IEEE80211R */
+               else if (data.key_mgmt & WPA_KEY_MGMT_FILS_SHA384)
+                       selector = RSN_AUTH_KEY_MGMT_FILS_SHA384;
+               else if (data.key_mgmt & WPA_KEY_MGMT_FILS_SHA256)
+                       selector = RSN_AUTH_KEY_MGMT_FILS_SHA256;
+#endif /* CONFIG_FILS */
 #ifdef CONFIG_IEEE80211R
                else if (data.key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X)
                        selector = RSN_AUTH_KEY_MGMT_FT_802_1X;
@@ -615,6 +627,18 @@ int wpa_validate_wpa_ie(struct wpa_authenticator *wpa_auth,
                sm->wpa_key_mgmt = WPA_KEY_MGMT_IEEE8021X_SUITE_B_192;
        else if (key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B)
                sm->wpa_key_mgmt = WPA_KEY_MGMT_IEEE8021X_SUITE_B;
+#ifdef CONFIG_FILS
+#ifdef CONFIG_IEEE80211R
+       else if (key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA384)
+               sm->wpa_key_mgmt = WPA_KEY_MGMT_FT_FILS_SHA384;
+       else if (data.key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA256)
+               sm->wpa_key_mgmt = WPA_KEY_MGMT_FT_FILS_SHA256;
+#endif /* CONFIG_IEEE80211R */
+       else if (key_mgmt & WPA_KEY_MGMT_FILS_SHA384)
+               sm->wpa_key_mgmt = WPA_KEY_MGMT_FILS_SHA384;
+       else if (key_mgmt & WPA_KEY_MGMT_FILS_SHA256)
+               sm->wpa_key_mgmt = WPA_KEY_MGMT_FILS_SHA256;
+#endif /* CONFIG_FILS */
 #ifdef CONFIG_IEEE80211R
        else if (key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X)
                sm->wpa_key_mgmt = WPA_KEY_MGMT_FT_IEEE8021X;