Remove CONFIG_IEEE80211W build parameter
Hardcode this to be defined and remove the separate build options for PMF since this functionality is needed with large number of newer protocol extensions and is also something that should be enabled in all WPA2/WPA3 networks. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
0229261874
commit
7d2ed8bae8
76 changed files with 11 additions and 537 deletions
|
@ -198,8 +198,6 @@ endif
|
|||
|
||||
ifdef CONFIG_SUITEB
|
||||
L_CFLAGS += -DCONFIG_SUITEB
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_SUITEB192
|
||||
|
@ -210,25 +208,15 @@ endif
|
|||
ifdef CONFIG_OCV
|
||||
L_CFLAGS += -DCONFIG_OCV
|
||||
OBJS += src/common/ocv.c
|
||||
CONFIG_IEEE80211W=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_IEEE80211W
|
||||
L_CFLAGS += -DCONFIG_IEEE80211W
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_IEEE80211R
|
||||
L_CFLAGS += -DCONFIG_IEEE80211R
|
||||
OBJS += src/rsn_supp/wpa_ft.c
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_MESH
|
||||
NEED_80211_COMMON=y
|
||||
NEED_SHA256=y
|
||||
NEED_AES_SIV=y
|
||||
CONFIG_SAE=y
|
||||
CONFIG_AP=y
|
||||
|
@ -254,7 +242,6 @@ NEED_AES_SIV=y
|
|||
NEED_HMAC_SHA256_KDF=y
|
||||
NEED_HMAC_SHA384_KDF=y
|
||||
NEED_HMAC_SHA512_KDF=y
|
||||
NEED_SHA256=y
|
||||
NEED_SHA384=y
|
||||
NEED_SHA512=y
|
||||
NEED_JSON=y
|
||||
|
@ -271,7 +258,6 @@ NEED_ECC=y
|
|||
NEED_HMAC_SHA256_KDF=y
|
||||
NEED_HMAC_SHA384_KDF=y
|
||||
NEED_HMAC_SHA512_KDF=y
|
||||
NEED_SHA256=y
|
||||
NEED_SHA384=y
|
||||
NEED_SHA512=y
|
||||
endif
|
||||
|
@ -298,8 +284,6 @@ endif
|
|||
ifdef CONFIG_TDLS
|
||||
L_CFLAGS += -DCONFIG_TDLS
|
||||
OBJS += src/rsn_supp/tdls.c
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_TDLS_TESTING
|
||||
|
@ -364,7 +348,6 @@ ifdef CONFIG_HS20
|
|||
OBJS += hs20_supplicant.c
|
||||
L_CFLAGS += -DCONFIG_HS20
|
||||
CONFIG_INTERWORKING=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_INTERWORKING
|
||||
|
@ -431,7 +414,6 @@ endif
|
|||
|
||||
ifdef CONFIG_ERP
|
||||
L_CFLAGS += -DCONFIG_ERP
|
||||
NEED_SHA256=y
|
||||
NEED_HMAC_SHA256_KDF=y
|
||||
endif
|
||||
|
||||
|
@ -586,7 +568,6 @@ OBJS += src/eap_peer/eap_psk.c src/eap_common/eap_psk_common.c
|
|||
endif
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_AES=y
|
||||
NEED_AES_OMAC1=y
|
||||
NEED_AES_ENCBLOCK=y
|
||||
NEED_AES_EAX=y
|
||||
endif
|
||||
|
@ -619,7 +600,6 @@ L_CFLAGS += -DEAP_AKA_PRIME_DYNAMIC
|
|||
else
|
||||
L_CFLAGS += -DEAP_AKA_PRIME
|
||||
endif
|
||||
NEED_SHA256=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_EAP_SIM_COMMON
|
||||
|
@ -700,15 +680,12 @@ CONFIG_IEEE8021X_EAPOL=y
|
|||
ifdef CONFIG_EAP_GPSK_SHA256
|
||||
L_CFLAGS += -DEAP_GPSK_SHA256
|
||||
endif
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_EAP_PWD
|
||||
L_CFLAGS += -DEAP_PWD
|
||||
OBJS += src/eap_peer/eap_pwd.c src/eap_common/eap_pwd_common.c
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_SHA256=y
|
||||
NEED_ECC=y
|
||||
NEED_DRAGONFLY=y
|
||||
endif
|
||||
|
@ -725,7 +702,6 @@ endif
|
|||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_DH_GROUPS=y
|
||||
NEED_DH_GROUPS_ALL=y
|
||||
NEED_SHA256=y
|
||||
NEED_AES_CBC=y
|
||||
endif
|
||||
|
||||
|
@ -745,7 +721,6 @@ OBJS += src/wps/wps_enrollee.c
|
|||
OBJS += src/wps/wps_registrar.c
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_DH_GROUPS=y
|
||||
NEED_SHA256=y
|
||||
NEED_BASE64=y
|
||||
NEED_AES_CBC=y
|
||||
NEED_MODEXP=y
|
||||
|
@ -1035,7 +1010,6 @@ endif
|
|||
|
||||
ifdef CONFIG_TLSV12
|
||||
L_CFLAGS += -DCONFIG_TLSV12
|
||||
NEED_SHA256=y
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TLS), openssl)
|
||||
|
@ -1050,7 +1024,6 @@ OBJS_p += src/crypto/crypto_openssl.c
|
|||
ifdef NEED_FIPS186_2_PRF
|
||||
OBJS += src/crypto/fips_prf_openssl.c
|
||||
endif
|
||||
NEED_SHA256=y
|
||||
NEED_TLS_PRF_SHA256=y
|
||||
LIBS += -lcrypto
|
||||
LIBS_p += -lcrypto
|
||||
|
@ -1113,7 +1086,6 @@ OBJS += src/tls/x509v3.c
|
|||
OBJS += src/tls/pkcs1.c
|
||||
OBJS += src/tls/pkcs5.c
|
||||
OBJS += src/tls/pkcs8.c
|
||||
NEED_SHA256=y
|
||||
NEED_BASE64=y
|
||||
NEED_TLS_PRF=y
|
||||
ifdef CONFIG_TLSV12
|
||||
|
@ -1233,12 +1205,10 @@ endif
|
|||
ifdef NEED_AES_EAX
|
||||
AESOBJS += src/crypto/aes-eax.c
|
||||
NEED_AES_CTR=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
ifdef NEED_AES_SIV
|
||||
AESOBJS += src/crypto/aes-siv.c
|
||||
NEED_AES_CTR=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
ifdef NEED_AES_CTR
|
||||
AESOBJS += src/crypto/aes-ctr.c
|
||||
|
@ -1246,14 +1216,12 @@ endif
|
|||
ifdef NEED_AES_ENCBLOCK
|
||||
AESOBJS += src/crypto/aes-encblock.c
|
||||
endif
|
||||
ifdef NEED_AES_OMAC1
|
||||
NEED_AES_ENC=y
|
||||
ifdef CONFIG_OPENSSL_CMAC
|
||||
L_CFLAGS += -DCONFIG_OPENSSL_CMAC
|
||||
else
|
||||
AESOBJS += src/crypto/aes-omac1.c
|
||||
endif
|
||||
endif
|
||||
ifdef NEED_AES_WRAP
|
||||
NEED_AES_ENC=y
|
||||
ifdef NEED_INTERNAL_AES_WRAP
|
||||
|
@ -1346,7 +1314,6 @@ endif
|
|||
endif
|
||||
|
||||
SHA256OBJS = # none by default
|
||||
ifdef NEED_SHA256
|
||||
L_CFLAGS += -DCONFIG_SHA256
|
||||
ifneq ($(CONFIG_TLS), openssl)
|
||||
ifneq ($(CONFIG_TLS), gnutls)
|
||||
|
@ -1384,7 +1351,6 @@ L_CFLAGS += -DCONFIG_HMAC_SHA512_KDF
|
|||
SHA256OBJS += src/crypto/sha512-kdf.c
|
||||
endif
|
||||
OBJS += $(SHA256OBJS)
|
||||
endif
|
||||
ifdef NEED_SHA384
|
||||
L_CFLAGS += -DCONFIG_SHA384
|
||||
ifneq ($(CONFIG_TLS), openssl)
|
||||
|
|
|
@ -230,8 +230,6 @@ endif
|
|||
|
||||
ifdef CONFIG_SUITEB
|
||||
CFLAGS += -DCONFIG_SUITEB
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_SUITEB192
|
||||
|
@ -242,25 +240,15 @@ endif
|
|||
ifdef CONFIG_OCV
|
||||
CFLAGS += -DCONFIG_OCV
|
||||
OBJS += ../src/common/ocv.o
|
||||
CONFIG_IEEE80211W=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_IEEE80211W
|
||||
CFLAGS += -DCONFIG_IEEE80211W
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_IEEE80211R
|
||||
CFLAGS += -DCONFIG_IEEE80211R
|
||||
OBJS += ../src/rsn_supp/wpa_ft.o
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_MESH
|
||||
NEED_80211_COMMON=y
|
||||
NEED_SHA256=y
|
||||
NEED_AES_SIV=y
|
||||
CONFIG_SAE=y
|
||||
CONFIG_AP=y
|
||||
|
@ -286,7 +274,6 @@ NEED_AES_SIV=y
|
|||
NEED_HMAC_SHA256_KDF=y
|
||||
NEED_HMAC_SHA384_KDF=y
|
||||
NEED_HMAC_SHA512_KDF=y
|
||||
NEED_SHA256=y
|
||||
NEED_SHA384=y
|
||||
NEED_SHA512=y
|
||||
NEED_JSON=y
|
||||
|
@ -303,7 +290,6 @@ NEED_ECC=y
|
|||
NEED_HMAC_SHA256_KDF=y
|
||||
NEED_HMAC_SHA384_KDF=y
|
||||
NEED_HMAC_SHA512_KDF=y
|
||||
NEED_SHA256=y
|
||||
NEED_SHA384=y
|
||||
NEED_SHA512=y
|
||||
endif
|
||||
|
@ -330,8 +316,6 @@ endif
|
|||
ifdef CONFIG_TDLS
|
||||
CFLAGS += -DCONFIG_TDLS
|
||||
OBJS += ../src/rsn_supp/tdls.o
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_TDLS_TESTING
|
||||
|
@ -404,7 +388,6 @@ ifdef CONFIG_HS20
|
|||
OBJS += hs20_supplicant.o
|
||||
CFLAGS += -DCONFIG_HS20
|
||||
CONFIG_INTERWORKING=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_INTERWORKING
|
||||
|
@ -458,7 +441,6 @@ endif
|
|||
|
||||
ifdef CONFIG_ERP
|
||||
CFLAGS += -DCONFIG_ERP
|
||||
NEED_SHA256=y
|
||||
NEED_HMAC_SHA256_KDF=y
|
||||
endif
|
||||
|
||||
|
@ -613,7 +595,6 @@ OBJS += ../src/eap_peer/eap_psk.o ../src/eap_common/eap_psk_common.o
|
|||
endif
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_AES=y
|
||||
NEED_AES_OMAC1=y
|
||||
NEED_AES_ENCBLOCK=y
|
||||
NEED_AES_EAX=y
|
||||
endif
|
||||
|
@ -646,7 +627,6 @@ CFLAGS += -DEAP_AKA_PRIME_DYNAMIC
|
|||
else
|
||||
CFLAGS += -DEAP_AKA_PRIME
|
||||
endif
|
||||
NEED_SHA256=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_EAP_SIM_COMMON
|
||||
|
@ -727,8 +707,6 @@ CONFIG_IEEE8021X_EAPOL=y
|
|||
ifdef CONFIG_EAP_GPSK_SHA256
|
||||
CFLAGS += -DEAP_GPSK_SHA256
|
||||
endif
|
||||
NEED_SHA256=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
|
||||
ifdef CONFIG_EAP_PWD
|
||||
|
@ -738,7 +716,6 @@ CFLAGS += -DCONFIG_ECC
|
|||
endif
|
||||
OBJS += ../src/eap_peer/eap_pwd.o ../src/eap_common/eap_pwd_common.o
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_SHA256=y
|
||||
NEED_ECC=y
|
||||
NEED_DRAGONFLY=y
|
||||
endif
|
||||
|
@ -755,7 +732,6 @@ endif
|
|||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_DH_GROUPS=y
|
||||
NEED_DH_GROUPS_ALL=y
|
||||
NEED_SHA256=y
|
||||
NEED_AES_CBC=y
|
||||
endif
|
||||
|
||||
|
@ -775,7 +751,6 @@ OBJS += ../src/wps/wps_enrollee.o
|
|||
OBJS += ../src/wps/wps_registrar.o
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
NEED_DH_GROUPS=y
|
||||
NEED_SHA256=y
|
||||
NEED_BASE64=y
|
||||
NEED_AES_CBC=y
|
||||
NEED_MODEXP=y
|
||||
|
@ -873,7 +848,6 @@ CONFIG_IEEE8021X_EAPOL=y
|
|||
NEED_AES_ENCBLOCK=y
|
||||
NEED_AES_UNWRAP=y
|
||||
NEED_AES_WRAP=y
|
||||
NEED_AES_OMAC1=y
|
||||
OBJS += wpas_kay.o
|
||||
OBJS += ../src/pae/ieee802_1x_cp.o
|
||||
OBJS += ../src/pae/ieee802_1x_kay.o
|
||||
|
@ -1083,7 +1057,6 @@ endif
|
|||
|
||||
ifdef CONFIG_TLSV12
|
||||
CFLAGS += -DCONFIG_TLSV12
|
||||
NEED_SHA256=y
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TLS), wolfssl)
|
||||
|
@ -1114,7 +1087,6 @@ OBJS_priv += ../src/crypto/crypto_openssl.o
|
|||
ifdef NEED_FIPS186_2_PRF
|
||||
OBJS += ../src/crypto/fips_prf_openssl.o
|
||||
endif
|
||||
NEED_SHA256=y
|
||||
NEED_TLS_PRF_SHA256=y
|
||||
LIBS += -lcrypto
|
||||
LIBS_p += -lcrypto
|
||||
|
@ -1178,7 +1150,6 @@ OBJS += ../src/tls/x509v3.o
|
|||
OBJS += ../src/tls/pkcs1.o
|
||||
OBJS += ../src/tls/pkcs5.o
|
||||
OBJS += ../src/tls/pkcs8.o
|
||||
NEED_SHA256=y
|
||||
NEED_BASE64=y
|
||||
NEED_TLS_PRF=y
|
||||
ifdef CONFIG_TLSV12
|
||||
|
@ -1258,7 +1229,6 @@ OBJS += ../src/tls/x509v3.o
|
|||
OBJS += ../src/tls/pkcs1.o
|
||||
OBJS += ../src/tls/pkcs5.o
|
||||
OBJS += ../src/tls/pkcs8.o
|
||||
NEED_SHA256=y
|
||||
NEED_BASE64=y
|
||||
NEED_TLS_PRF=y
|
||||
ifdef CONFIG_TLSV12
|
||||
|
@ -1344,12 +1314,10 @@ endif
|
|||
ifdef NEED_AES_EAX
|
||||
AESOBJS += ../src/crypto/aes-eax.o
|
||||
NEED_AES_CTR=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
ifdef NEED_AES_SIV
|
||||
AESOBJS += ../src/crypto/aes-siv.o
|
||||
NEED_AES_CTR=y
|
||||
NEED_AES_OMAC1=y
|
||||
endif
|
||||
ifdef NEED_AES_CTR
|
||||
AESOBJS += ../src/crypto/aes-ctr.o
|
||||
|
@ -1357,7 +1325,6 @@ endif
|
|||
ifdef NEED_AES_ENCBLOCK
|
||||
AESOBJS += ../src/crypto/aes-encblock.o
|
||||
endif
|
||||
ifdef NEED_AES_OMAC1
|
||||
NEED_AES_ENC=y
|
||||
ifdef CONFIG_OPENSSL_CMAC
|
||||
CFLAGS += -DCONFIG_OPENSSL_CMAC
|
||||
|
@ -1368,7 +1335,6 @@ AESOBJS += ../src/crypto/aes-omac1.o
|
|||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifdef NEED_AES_WRAP
|
||||
NEED_AES_ENC=y
|
||||
ifdef NEED_INTERNAL_AES_WRAP
|
||||
|
@ -1477,7 +1443,6 @@ endif
|
|||
endif
|
||||
|
||||
SHA256OBJS = # none by default
|
||||
ifdef NEED_SHA256
|
||||
CFLAGS += -DCONFIG_SHA256
|
||||
ifneq ($(CONFIG_TLS), openssl)
|
||||
ifneq ($(CONFIG_TLS), linux)
|
||||
|
@ -1519,7 +1484,6 @@ CFLAGS += -DCONFIG_HMAC_SHA512_KDF
|
|||
OBJS += ../src/crypto/sha512-kdf.o
|
||||
endif
|
||||
OBJS += $(SHA256OBJS)
|
||||
endif
|
||||
ifdef NEED_SHA384
|
||||
ifneq ($(CONFIG_TLS), openssl)
|
||||
ifneq ($(CONFIG_TLS), linux)
|
||||
|
|
|
@ -28,7 +28,6 @@ wpa_supplicant build config
|
|||
Enable DPP and protected management frame in wpa_supplicant build config
|
||||
file
|
||||
|
||||
CONFIG_IEEE80211W=y
|
||||
CONFIG_DPP=y
|
||||
|
||||
hostapd build config
|
||||
|
@ -36,7 +35,6 @@ hostapd build config
|
|||
|
||||
Enable DPP and protected management frame in hostapd build config file
|
||||
|
||||
CONFIG_IEEE80211W=y
|
||||
CONFIG_DPP=y
|
||||
|
||||
Configurator build config
|
||||
|
|
|
@ -273,10 +273,6 @@ CONFIG_L2_PACKET=linux
|
|||
# bridge interfaces (commit 'bridge: respect RFC2863 operational state')').
|
||||
#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y
|
||||
|
||||
# IEEE 802.11w (management frame protection), also known as PMF
|
||||
# Driver support is also needed for IEEE 802.11w.
|
||||
CONFIG_IEEE80211W=y
|
||||
|
||||
# Support Operating Channel Validation
|
||||
#CONFIG_OCV=y
|
||||
|
||||
|
|
|
@ -500,10 +500,8 @@ static int wpa_supplicant_conf_ap(struct wpa_supplicant *wpa_s,
|
|||
bss->wpa_group_rekey = 86400;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (ssid->ieee80211w != MGMT_FRAME_PROTECTION_DEFAULT)
|
||||
bss->ieee80211w = ssid->ieee80211w;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
#ifdef CONFIG_OCV
|
||||
bss->ocv = ssid->ocv;
|
||||
|
|
|
@ -740,12 +740,10 @@ static int wpa_config_parse_key_mgmt(const struct parse_data *data,
|
|||
val |= WPA_KEY_MGMT_FT_IEEE8021X_SHA384;
|
||||
#endif /* CONFIG_SHA384 */
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
else if (os_strcmp(start, "WPA-PSK-SHA256") == 0)
|
||||
val |= WPA_KEY_MGMT_PSK_SHA256;
|
||||
else if (os_strcmp(start, "WPA-EAP-SHA256") == 0)
|
||||
val |= WPA_KEY_MGMT_IEEE8021X_SHA256;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_WPS
|
||||
else if (os_strcmp(start, "WPS") == 0)
|
||||
val |= WPA_KEY_MGMT_WPS;
|
||||
|
@ -910,7 +908,6 @@ static char * wpa_config_write_key_mgmt(const struct parse_data *data,
|
|||
#endif /* CONFIG_SHA384 */
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) {
|
||||
ret = os_snprintf(pos, end - pos, "%sWPA-PSK-SHA256",
|
||||
pos == buf ? "" : " ");
|
||||
|
@ -930,7 +927,6 @@ static char * wpa_config_write_key_mgmt(const struct parse_data *data,
|
|||
}
|
||||
pos += ret;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
#ifdef CONFIG_WPS
|
||||
if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) {
|
||||
|
@ -2477,9 +2473,7 @@ static const struct parse_data ssid_fields[] = {
|
|||
{ INT_RANGE(proactive_key_caching, 0, 1) },
|
||||
{ INT_RANGE(disabled, 0, 2) },
|
||||
{ STR(id_str) },
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
{ INT_RANGE(ieee80211w, 0, 2) },
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_OCV
|
||||
{ FUNC(ocv) },
|
||||
#endif /* CONFIG_OCV */
|
||||
|
@ -3061,9 +3055,7 @@ void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
|
|||
ssid->vht_tx_mcs_nss_8 = -1;
|
||||
#endif /* CONFIG_VHT_OVERRIDES */
|
||||
ssid->proactive_key_caching = -1;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
ssid->ieee80211w = MGMT_FRAME_PROTECTION_DEFAULT;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_MACSEC
|
||||
ssid->mka_priority = DEFAULT_PRIO_NOT_KEY_SERVER;
|
||||
#endif /* CONFIG_MACSEC */
|
||||
|
|
|
@ -863,10 +863,8 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
|
|||
INT(pbss);
|
||||
INT(wps_disabled);
|
||||
INT(fils_dh_group);
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
write_int(f, "ieee80211w", ssid->ieee80211w,
|
||||
MGMT_FRAME_PROTECTION_DEFAULT);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
STR(id_str);
|
||||
#ifdef CONFIG_P2P
|
||||
write_go_p2p_dev_addr(f, ssid);
|
||||
|
|
|
@ -446,7 +446,6 @@ struct wpa_ssid {
|
|||
*/
|
||||
char *id_str;
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
/**
|
||||
* ieee80211w - Whether management frame protection is enabled
|
||||
*
|
||||
|
@ -460,7 +459,6 @@ struct wpa_ssid {
|
|||
* followed).
|
||||
*/
|
||||
enum mfp_options ieee80211w;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
#ifdef CONFIG_OCV
|
||||
/**
|
||||
|
|
|
@ -937,10 +937,8 @@ static int wpa_config_write_network(HKEY hk, struct wpa_ssid *ssid, int id)
|
|||
write_int(netw, "proactive_key_caching", ssid->proactive_key_caching,
|
||||
-1);
|
||||
INT(disabled);
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
write_int(netw, "ieee80211w", ssid->ieee80211w,
|
||||
MGMT_FRAME_PROTECTION_DEFAULT);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
STR(id_str);
|
||||
#ifdef CONFIG_HS20
|
||||
INT(update_identifier);
|
||||
|
|
|
@ -2656,7 +2656,6 @@ static char * wpa_supplicant_ie_txt(char *pos, char *end, const char *proto,
|
|||
pos += ret;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (data.key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA256) {
|
||||
ret = os_snprintf(pos, end - pos, "%sEAP-SHA256",
|
||||
pos == start ? "" : "+");
|
||||
|
@ -2671,7 +2670,6 @@ static char * wpa_supplicant_ie_txt(char *pos, char *end, const char *proto,
|
|||
return pos;
|
||||
pos += ret;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
#ifdef CONFIG_SUITEB
|
||||
if (data.key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B) {
|
||||
|
@ -5243,10 +5241,8 @@ static void wpa_supplicant_ctrl_iface_drop_sa(struct wpa_supplicant *wpa_s)
|
|||
wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 1, 0, NULL, 0, NULL, 0);
|
||||
wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 2, 0, NULL, 0, NULL, 0);
|
||||
wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 3, 0, NULL, 0, NULL, 0);
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 4, 0, NULL, 0, NULL, 0);
|
||||
wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 5, 0, NULL, 0, NULL, 0);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
wpa_drv_set_key(wpa_s, WPA_ALG_NONE, wpa_s->bssid, 0, 0, NULL, 0, NULL,
|
||||
0);
|
||||
|
@ -10626,12 +10622,10 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
|
|||
} else if (os_strcmp(buf, "RESEND_ASSOC") == 0) {
|
||||
if (wpas_ctrl_resend_assoc(wpa_s) < 0)
|
||||
reply_len = -1;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
} else if (os_strcmp(buf, "UNPROT_DEAUTH") == 0) {
|
||||
sme_event_unprot_disconnect(
|
||||
wpa_s, wpa_s->bssid, NULL,
|
||||
WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#endif /* CONFIG_TESTING_OPTIONS */
|
||||
} else if (os_strncmp(buf, "VENDOR_ELEM_ADD ", 16) == 0) {
|
||||
if (wpas_ctrl_vendor_elem_add(wpa_s, buf + 16) < 0)
|
||||
|
|
|
@ -1012,9 +1012,7 @@ dbus_bool_t wpas_dbus_getter_global_capabilities(
|
|||
#ifdef CONFIG_INTERWORKING
|
||||
capabilities[num_items++] = "interworking";
|
||||
#endif /* CONFIG_INTERWORKING */
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
capabilities[num_items++] = "pmf";
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_MESH
|
||||
capabilities[num_items++] = "mesh";
|
||||
#endif /* CONFIG_MESH */
|
||||
|
@ -2753,11 +2751,9 @@ dbus_bool_t wpas_dbus_getter_capabilities(
|
|||
goto nomem;
|
||||
|
||||
/* TODO: Ensure that driver actually supports sha256 encryption. */
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (!wpa_dbus_dict_string_array_add_element(
|
||||
&iter_array, "wpa-eap-sha256"))
|
||||
goto nomem;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
}
|
||||
|
||||
if (capa.key_mgmt & (WPA_DRIVER_CAPA_KEY_MGMT_WPA_PSK |
|
||||
|
@ -2771,11 +2767,9 @@ dbus_bool_t wpas_dbus_getter_capabilities(
|
|||
goto nomem;
|
||||
|
||||
/* TODO: Ensure that driver actually supports sha256 encryption. */
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (!wpa_dbus_dict_string_array_add_element(
|
||||
&iter_array, "wpa-psk-sha256"))
|
||||
goto nomem;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
}
|
||||
|
||||
if ((capa.key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_WPA_NONE) &&
|
||||
|
@ -4608,11 +4602,9 @@ static dbus_bool_t wpas_dbus_get_bss_security_prop(
|
|||
/* Management group (RSN only) */
|
||||
if (ie_data->proto == WPA_PROTO_RSN) {
|
||||
switch (ie_data->mgmt_group_cipher) {
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
case WPA_CIPHER_AES_128_CMAC:
|
||||
group = "aes128cmac";
|
||||
break;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
default:
|
||||
group = "";
|
||||
break;
|
||||
|
|
|
@ -310,10 +310,6 @@ CONFIG_BACKEND=file
|
|||
# bridge interfaces (commit 'bridge: respect RFC2863 operational state')').
|
||||
#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y
|
||||
|
||||
# IEEE 802.11w (management frame protection), also known as PMF
|
||||
# Driver support is also needed for IEEE 802.11w.
|
||||
CONFIG_IEEE80211W=y
|
||||
|
||||
# Support Operating Channel Validation
|
||||
#CONFIG_OCV=y
|
||||
|
||||
|
@ -610,6 +606,4 @@ CONFIG_BGSCAN_SIMPLE=y
|
|||
#CONFIG_OWE=y
|
||||
|
||||
# Device Provisioning Protocol (DPP)
|
||||
# This requires CONFIG_IEEE80211W=y to be enabled, too. (see
|
||||
# wpa_supplicant/README-DPP for details)
|
||||
CONFIG_DPP=y
|
||||
|
|
|
@ -615,7 +615,6 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
|
|||
break;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (!(ie.capabilities & WPA_CAPABILITY_MFPC) &&
|
||||
wpas_get_ssid_pmf(wpa_s, ssid) ==
|
||||
MGMT_FRAME_PROTECTION_REQUIRED) {
|
||||
|
@ -624,7 +623,6 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
|
|||
" skip RSN IE - no mgmt frame protection");
|
||||
break;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
if ((ie.capabilities & WPA_CAPABILITY_MFPR) &&
|
||||
wpas_get_ssid_pmf(wpa_s, ssid) ==
|
||||
NO_MGMT_FRAME_PROTECTION) {
|
||||
|
@ -655,7 +653,6 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
|
|||
return 1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (wpas_get_ssid_pmf(wpa_s, ssid) == MGMT_FRAME_PROTECTION_REQUIRED &&
|
||||
(!(ssid->key_mgmt & WPA_KEY_MGMT_OWE) || ssid->owe_only)) {
|
||||
if (debug_print)
|
||||
|
@ -663,7 +660,6 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
|
|||
" skip - MFP Required but network not MFP Capable");
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
wpa_ie = wpa_bss_get_vendor_ie(bss, WPA_IE_VENDOR_TYPE);
|
||||
while ((ssid->proto & WPA_PROTO_WPA) && wpa_ie) {
|
||||
|
@ -3518,26 +3514,22 @@ static void ft_rx_action(struct wpa_supplicant *wpa_s, const u8 *data,
|
|||
static void wpa_supplicant_event_unprot_deauth(struct wpa_supplicant *wpa_s,
|
||||
struct unprot_deauth *e)
|
||||
{
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
wpa_printf(MSG_DEBUG, "Unprotected Deauthentication frame "
|
||||
"dropped: " MACSTR " -> " MACSTR
|
||||
" (reason code %u)",
|
||||
MAC2STR(e->sa), MAC2STR(e->da), e->reason_code);
|
||||
sme_event_unprot_disconnect(wpa_s, e->sa, e->da, e->reason_code);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
}
|
||||
|
||||
|
||||
static void wpa_supplicant_event_unprot_disassoc(struct wpa_supplicant *wpa_s,
|
||||
struct unprot_disassoc *e)
|
||||
{
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
wpa_printf(MSG_DEBUG, "Unprotected Disassociation frame "
|
||||
"dropped: " MACSTR " -> " MACSTR
|
||||
" (reason code %u)",
|
||||
MAC2STR(e->sa), MAC2STR(e->da), e->reason_code);
|
||||
sme_event_unprot_disconnect(wpa_s, e->sa, e->da, e->reason_code);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
}
|
||||
|
||||
|
||||
|
@ -3795,14 +3787,12 @@ static void wpas_event_rx_mgmt_action(struct wpa_supplicant *wpa_s,
|
|||
}
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
#ifdef CONFIG_SME
|
||||
if (category == WLAN_ACTION_SA_QUERY) {
|
||||
sme_sa_query_rx(wpa_s, mgmt->sa, payload, plen);
|
||||
return;
|
||||
}
|
||||
#endif /* CONFIG_SME */
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
#ifdef CONFIG_WNM
|
||||
if (mgmt->u.action.category == WLAN_ACTION_WNM) {
|
||||
|
@ -4516,9 +4506,7 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
|
|||
}
|
||||
#endif /* CONFIG_AP */
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
sme_event_ch_switch(wpa_s);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
wpas_p2p_update_channel_list(wpa_s, WPAS_P2P_CHANNEL_UPDATE_CS);
|
||||
wnm_clear_coloc_intf_reporting(wpa_s);
|
||||
break;
|
||||
|
|
|
@ -86,7 +86,6 @@ static struct mesh_conf * mesh_config_create(struct wpa_supplicant *wpa_s,
|
|||
MESH_CONF_SEC_AMPE;
|
||||
else
|
||||
conf->security |= MESH_CONF_SEC_NONE;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
conf->ieee80211w = ssid->ieee80211w;
|
||||
if (conf->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT) {
|
||||
if (wpa_s->drv_enc & WPA_DRIVER_CAPA_ENC_BIP)
|
||||
|
@ -94,7 +93,6 @@ static struct mesh_conf * mesh_config_create(struct wpa_supplicant *wpa_s,
|
|||
else
|
||||
conf->ieee80211w = NO_MGMT_FRAME_PROTECTION;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_OCV
|
||||
conf->ocv = ssid->ocv;
|
||||
#endif /* CONFIG_OCV */
|
||||
|
|
|
@ -165,11 +165,9 @@ static int __mesh_rsn_auth_init(struct mesh_rsn *rsn, const u8 *addr,
|
|||
conf.wpa_group_rekey = -1;
|
||||
conf.wpa_group_update_count = 4;
|
||||
conf.wpa_pairwise_update_count = 4;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
conf.ieee80211w = ieee80211w;
|
||||
if (ieee80211w != NO_MGMT_FRAME_PROTECTION)
|
||||
conf.group_mgmt_cipher = rsn->mgmt_group_cipher;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_OCV
|
||||
conf.ocv = ocv;
|
||||
#endif /* CONFIG_OCV */
|
||||
|
@ -186,7 +184,6 @@ static int __mesh_rsn_auth_init(struct mesh_rsn *rsn, const u8 *addr,
|
|||
return -1;
|
||||
rsn->mgtk_key_id = 1;
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (ieee80211w != NO_MGMT_FRAME_PROTECTION) {
|
||||
rsn->igtk_len = wpa_cipher_key_len(conf.group_mgmt_cipher);
|
||||
if (random_get_bytes(rsn->igtk, rsn->igtk_len) < 0)
|
||||
|
@ -201,7 +198,6 @@ static int __mesh_rsn_auth_init(struct mesh_rsn *rsn, const u8 *addr,
|
|||
rsn->igtk_key_id, 1,
|
||||
seq, sizeof(seq), rsn->igtk, rsn->igtk_len);
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
/* group privacy / data frames */
|
||||
wpa_hexdump_key(MSG_DEBUG, "mesh: Own TX MGTK",
|
||||
|
@ -545,10 +541,8 @@ int mesh_rsn_protect_frame(struct mesh_rsn *rsn, struct sta_info *sta,
|
|||
len = sizeof(*ampe);
|
||||
if (cat[1] == PLINK_OPEN)
|
||||
len += rsn->mgtk_len + WPA_KEY_RSC_LEN + 4;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (cat[1] == PLINK_OPEN && rsn->igtk_len)
|
||||
len += 2 + 6 + rsn->igtk_len;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
if (2 + AES_BLOCK_SIZE + 2 + len > wpabuf_tailroom(buf)) {
|
||||
wpa_printf(MSG_ERROR, "protect frame: buffer too small");
|
||||
|
@ -591,7 +585,6 @@ int mesh_rsn_protect_frame(struct mesh_rsn *rsn, struct sta_info *sta,
|
|||
WPA_PUT_LE32(pos, 0xffffffff);
|
||||
pos += 4;
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
/*
|
||||
* IGTKdata[variable]:
|
||||
* Key ID[2], IPN[6], IGTK[variable]
|
||||
|
@ -603,7 +596,6 @@ int mesh_rsn_protect_frame(struct mesh_rsn *rsn, struct sta_info *sta,
|
|||
pos += 6;
|
||||
os_memcpy(pos, rsn->igtk, rsn->igtk_len);
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
skip_keys:
|
||||
wpa_hexdump_key(MSG_DEBUG, "mesh: Plaintext AMPE element",
|
||||
|
@ -774,7 +766,6 @@ int mesh_rsn_process_ampe(struct wpa_supplicant *wpa_s, struct sta_info *sta,
|
|||
WPA_GET_LE32(pos));
|
||||
pos += 4;
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
/*
|
||||
* IGTKdata[variable]:
|
||||
* Key ID[2], IPN[6], IGTK[variable]
|
||||
|
@ -794,7 +785,6 @@ int mesh_rsn_process_ampe(struct wpa_supplicant *wpa_s, struct sta_info *sta,
|
|||
wpa_hexdump_key(MSG_DEBUG, "mesh: IGTKdata - IGTK",
|
||||
sta->igtk, sta->igtk_len);
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
free:
|
||||
os_free(crypt);
|
||||
|
|
|
@ -37,9 +37,7 @@
|
|||
static void sme_auth_timer(void *eloop_ctx, void *timeout_ctx);
|
||||
static void sme_assoc_timer(void *eloop_ctx, void *timeout_ctx);
|
||||
static void sme_obss_scan_timeout(void *eloop_ctx, void *timeout_ctx);
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
static void sme_stop_sa_query(struct wpa_supplicant *wpa_s);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
|
||||
#ifdef CONFIG_SAE
|
||||
|
@ -492,7 +490,6 @@ static void sme_send_authentication(struct wpa_supplicant *wpa_s,
|
|||
}
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
wpa_s->sme.mfp = wpas_get_ssid_pmf(wpa_s, ssid);
|
||||
if (wpa_s->sme.mfp != NO_MGMT_FRAME_PROTECTION) {
|
||||
const u8 *rsn = wpa_bss_get_ie(bss, WLAN_EID_RSN);
|
||||
|
@ -505,7 +502,6 @@ static void sme_send_authentication(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->sme.mfp = MGMT_FRAME_PROTECTION_REQUIRED;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
#ifdef CONFIG_P2P
|
||||
if (wpa_s->global->p2p) {
|
||||
|
@ -2024,9 +2020,7 @@ void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s)
|
|||
if (wpa_s->sme.ft_ies || wpa_s->sme.ft_used)
|
||||
sme_update_ft_ies(wpa_s, NULL, NULL, 0);
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
sme_stop_sa_query(wpa_s);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
}
|
||||
|
||||
|
||||
|
@ -2321,8 +2315,6 @@ void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable)
|
|||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
|
||||
static const unsigned int sa_query_max_timeout = 1000;
|
||||
static const unsigned int sa_query_retry_timeout = 201;
|
||||
static const unsigned int sa_query_ch_switch_max_delay = 5000; /* in usec */
|
||||
|
@ -2611,5 +2603,3 @@ void sme_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *sa,
|
|||
else if (data[0] == WLAN_SA_QUERY_RESPONSE)
|
||||
sme_process_sa_query_response(wpa_s, sa, data, len);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
|
|
@ -271,7 +271,6 @@ static void wnm_sleep_mode_exit_success(struct wpa_supplicant *wpa_s,
|
|||
WNM_SLEEP_SUBELEM_GTK,
|
||||
ptr);
|
||||
ptr += 13 + gtk_len;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
} else if (*ptr == WNM_SLEEP_SUBELEM_IGTK) {
|
||||
if (ptr[1] < 2 + 6 + WPA_IGTK_LEN) {
|
||||
wpa_printf(MSG_DEBUG, "WNM: Too short IGTK "
|
||||
|
@ -281,7 +280,6 @@ static void wnm_sleep_mode_exit_success(struct wpa_supplicant *wpa_s,
|
|||
wpa_wnmsleep_install_key(wpa_s->wpa,
|
||||
WNM_SLEEP_SUBELEM_IGTK, ptr);
|
||||
ptr += 10 + WPA_IGTK_LEN;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
} else
|
||||
break; /* skip the loop */
|
||||
}
|
||||
|
|
|
@ -1433,9 +1433,7 @@ static const char *network_fields[] = {
|
|||
"mode",
|
||||
#endif /* CONFIG_MESH */
|
||||
"proactive_key_caching", "disabled", "id_str",
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
"ieee80211w",
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
"mixed_cell", "frequency", "fixed_freq",
|
||||
#ifdef CONFIG_MESH
|
||||
"mesh_basic_rates", "dot11MeshMaxRetries",
|
||||
|
|
|
@ -424,10 +424,8 @@ void wpa_supplicant_set_non_wpa_policy(struct wpa_supplicant *wpa_s,
|
|||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_PAIRWISE,
|
||||
wpa_s->pairwise_cipher);
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_GROUP, wpa_s->group_cipher);
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_MGMT_GROUP,
|
||||
wpa_s->mgmt_group_cipher);
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
pmksa_cache_clear_current(wpa_s->wpa);
|
||||
}
|
||||
|
@ -693,13 +691,7 @@ static void wpa_supplicant_cleanup(struct wpa_supplicant *wpa_s)
|
|||
*/
|
||||
void wpa_clear_keys(struct wpa_supplicant *wpa_s, const u8 *addr)
|
||||
{
|
||||
int i, max;
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
max = 6;
|
||||
#else /* CONFIG_IEEE80211W */
|
||||
max = 4;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
int i, max = 6;
|
||||
|
||||
/* MLME-DELETEKEYS.request */
|
||||
for (i = 0; i < max; i++) {
|
||||
|
@ -1186,7 +1178,6 @@ static int wpa_supplicant_suites_from_ai(struct wpa_supplicant *wpa_s,
|
|||
return -1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (!(ie->capabilities & WPA_CAPABILITY_MFPC) &&
|
||||
wpas_get_ssid_pmf(wpa_s, ssid) == MGMT_FRAME_PROTECTION_REQUIRED) {
|
||||
wpa_msg(wpa_s, MSG_INFO, "WPA: Driver associated with an AP "
|
||||
|
@ -1194,7 +1185,6 @@ static int wpa_supplicant_suites_from_ai(struct wpa_supplicant *wpa_s,
|
|||
"reject");
|
||||
return -1;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1319,7 +1309,6 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
ie.group_cipher = ssid->group_cipher;
|
||||
ie.pairwise_cipher = ssid->pairwise_cipher;
|
||||
ie.key_mgmt = ssid->key_mgmt;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
ie.mgmt_group_cipher = 0;
|
||||
if (ssid->ieee80211w != NO_MGMT_FRAME_PROTECTION) {
|
||||
if (ssid->group_mgmt_cipher &
|
||||
|
@ -1338,7 +1327,6 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
ie.mgmt_group_cipher =
|
||||
WPA_CIPHER_AES_128_CMAC;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_OWE
|
||||
if ((ssid->key_mgmt & WPA_KEY_MGMT_OWE) &&
|
||||
!ssid->owe_only &&
|
||||
|
@ -1358,12 +1346,10 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
wpa_dbg(wpa_s, MSG_DEBUG, "WPA: Selected cipher suites: group %d "
|
||||
"pairwise %d key_mgmt %d proto %d",
|
||||
ie.group_cipher, ie.pairwise_cipher, ie.key_mgmt, proto);
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (ssid->ieee80211w) {
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "WPA: Selected mgmt group cipher %d",
|
||||
ie.mgmt_group_cipher);
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
wpa_s->wpa_proto = proto;
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_PROTO, proto);
|
||||
|
@ -1495,7 +1481,6 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->key_mgmt = WPA_KEY_MGMT_FT_PSK;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT FT/PSK");
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
} else if (sel & WPA_KEY_MGMT_IEEE8021X_SHA256) {
|
||||
wpa_s->key_mgmt = WPA_KEY_MGMT_IEEE8021X_SHA256;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG,
|
||||
|
@ -1504,7 +1489,6 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->key_mgmt = WPA_KEY_MGMT_PSK_SHA256;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG,
|
||||
"WPA: using KEY_MGMT PSK with SHA256");
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
} else if (sel & WPA_KEY_MGMT_IEEE8021X) {
|
||||
wpa_s->key_mgmt = WPA_KEY_MGMT_IEEE8021X;
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT 802.1X");
|
||||
|
@ -1535,7 +1519,6 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->pairwise_cipher);
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_GROUP, wpa_s->group_cipher);
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (!(ie.capabilities & WPA_CAPABILITY_MFPC) &&
|
||||
wpas_get_ssid_pmf(wpa_s, ssid) == MGMT_FRAME_PROTECTION_REQUIRED) {
|
||||
wpa_msg(wpa_s, MSG_INFO,
|
||||
|
@ -1576,7 +1559,6 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->mgmt_group_cipher);
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_MFP,
|
||||
wpas_get_ssid_pmf(wpa_s, ssid));
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
#ifdef CONFIG_OCV
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_OCV, ssid->ocv);
|
||||
#endif /* CONFIG_OCV */
|
||||
|
@ -3293,7 +3275,6 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
|
|||
|
||||
params.drop_unencrypted = use_crypt;
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
params.mgmt_frame_protection = wpas_get_ssid_pmf(wpa_s, ssid);
|
||||
if (params.mgmt_frame_protection != NO_MGMT_FRAME_PROTECTION && bss) {
|
||||
const u8 *rsn = wpa_bss_get_ie(bss, WLAN_EID_RSN);
|
||||
|
@ -3312,7 +3293,6 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
|
|||
#endif /* CONFIG_OWE */
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
params.p2p = ssid->p2p_group;
|
||||
|
||||
|
@ -7021,7 +7001,6 @@ int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
|
|||
|
||||
int wpas_get_ssid_pmf(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
|
||||
{
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (ssid == NULL || ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT) {
|
||||
if (wpa_s->conf->pmf == MGMT_FRAME_PROTECTION_OPTIONAL &&
|
||||
!(wpa_s->drv_enc & WPA_DRIVER_CAPA_ENC_BIP)) {
|
||||
|
@ -7050,9 +7029,6 @@ int wpas_get_ssid_pmf(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
|
|||
}
|
||||
|
||||
return ssid->ieee80211w;
|
||||
#else /* CONFIG_IEEE80211W */
|
||||
return NO_MGMT_FRAME_PROTECTION;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -533,9 +533,7 @@ static int wpa_supplicant_wps_cred(void *ctx,
|
|||
if (wpa_s->conf->wps_cred_add_sae &&
|
||||
cred->key_len != 2 * PMK_LEN) {
|
||||
ssid->key_mgmt |= WPA_KEY_MGMT_SAE;
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
ssid->ieee80211w = MGMT_FRAME_PROTECTION_OPTIONAL;
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
}
|
||||
ssid->proto = WPA_PROTO_RSN;
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue