1) Added PMK caching module from wpa_supplicant. 2) Modified wpa_sm to a) Add entry to PMK cache when first time associated to an AP. b) Maintain entry across the associations. c) Clear current PMKSA when deauth happens. d) Search for an entry when re-associating to the same AP and set it as current PMKSA e) Wait for msg 1/4 from AP instead of starting EAP authentication. f) Check PMKID in msg 1 with current PMKSA/cache. g) Use the cached PMK to complete 4-way handshake. 3) Remove config_bss callback as it was redundant and used to cause problems for PMK caching flow. Closes IDF-969
106 lines
2.9 KiB
CMake
106 lines
2.9 KiB
CMake
set(srcs "port/os_xtensa.c"
|
|
"src/ap/ap_config.c"
|
|
"src/ap/ieee802_1x.c"
|
|
"src/ap/wpa_auth.c"
|
|
"src/ap/wpa_auth_ie.c"
|
|
"src/common/wpa_common.c"
|
|
"src/crypto/aes-cbc.c"
|
|
"src/crypto/aes-internal-dec.c"
|
|
"src/crypto/aes-internal-enc.c"
|
|
"src/crypto/aes-internal.c"
|
|
"src/crypto/aes-unwrap.c"
|
|
"src/crypto/aes-wrap.c"
|
|
"src/crypto/bignum.c"
|
|
"src/crypto/crypto_mbedtls.c"
|
|
"src/crypto/crypto_ops.c"
|
|
"src/crypto/crypto_internal-cipher.c"
|
|
"src/crypto/crypto_internal-modexp.c"
|
|
"src/crypto/crypto_internal-rsa.c"
|
|
"src/crypto/crypto_internal.c"
|
|
"src/crypto/des-internal.c"
|
|
"src/crypto/dh_group5.c"
|
|
"src/crypto/dh_groups.c"
|
|
"src/crypto/md4-internal.c"
|
|
"src/crypto/md5-internal.c"
|
|
"src/crypto/md5.c"
|
|
"src/crypto/ms_funcs.c"
|
|
"src/crypto/rc4.c"
|
|
"src/crypto/sha1-internal.c"
|
|
"src/crypto/sha1-pbkdf2.c"
|
|
"src/crypto/sha1.c"
|
|
"src/crypto/sha256-internal.c"
|
|
"src/crypto/sha256.c"
|
|
"src/eap_peer/chap.c"
|
|
"src/eap_peer/eap.c"
|
|
"src/eap_peer/eap_common.c"
|
|
"src/eap_peer/eap_mschapv2.c"
|
|
"src/eap_peer/eap_peap.c"
|
|
"src/eap_peer/eap_peap_common.c"
|
|
"src/eap_peer/eap_tls.c"
|
|
"src/eap_peer/eap_tls_common.c"
|
|
"src/eap_peer/eap_ttls.c"
|
|
"src/eap_peer/mschapv2.c"
|
|
"src/esp_supplicant/esp_hostap.c"
|
|
"src/esp_supplicant/esp_wpa2.c"
|
|
"src/esp_supplicant/esp_wpa_main.c"
|
|
"src/esp_supplicant/esp_wpas_glue.c"
|
|
"src/esp_supplicant/esp_wps.c"
|
|
"src/rsn_supp/pmksa_cache.c"
|
|
"src/rsn_supp/wpa.c"
|
|
"src/rsn_supp/wpa_ie.c"
|
|
"src/tls/asn1.c"
|
|
"src/tls/bignum.c"
|
|
"src/tls/pkcs1.c"
|
|
"src/tls/pkcs5.c"
|
|
"src/tls/pkcs8.c"
|
|
"src/tls/rsa.c"
|
|
"src/tls/tls_internal.c"
|
|
"src/tls/tlsv1_client.c"
|
|
"src/tls/tlsv1_client_read.c"
|
|
"src/tls/tlsv1_client_write.c"
|
|
"src/tls/tlsv1_common.c"
|
|
"src/tls/tlsv1_cred.c"
|
|
"src/tls/tlsv1_record.c"
|
|
"src/tls/tlsv1_server.c"
|
|
"src/tls/tlsv1_server_read.c"
|
|
"src/tls/tlsv1_server_write.c"
|
|
"src/tls/x509v3.c"
|
|
"src/utils/base64.c"
|
|
"src/utils/common.c"
|
|
"src/utils/ext_password.c"
|
|
"src/utils/uuid.c"
|
|
"src/utils/wpabuf.c"
|
|
"src/utils/wpa_debug.c"
|
|
"src/wps/wps.c"
|
|
"src/wps/wps_attr_build.c"
|
|
"src/wps/wps_attr_parse.c"
|
|
"src/wps/wps_attr_process.c"
|
|
"src/wps/wps_common.c"
|
|
"src/wps/wps_dev_attr.c"
|
|
"src/wps/wps_enrollee.c"
|
|
"src/wps/wps_registrar.c"
|
|
"src/wps/wps_validate.c")
|
|
|
|
idf_component_register(SRCS "${srcs}"
|
|
INCLUDE_DIRS include port/include include/esp_supplicant
|
|
PRIV_INCLUDE_DIRS src
|
|
PRIV_REQUIRES mbedtls)
|
|
|
|
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-strict-aliasing)
|
|
target_compile_definitions(${COMPONENT_LIB} PRIVATE
|
|
__ets__
|
|
ESP_SUPPLICANT
|
|
IEEE8021X_EAPOL
|
|
EAP_PEER_METHOD
|
|
EAP_MSCHAPv2
|
|
EAP_TTLS
|
|
EAP_TLS
|
|
EAP_PEAP
|
|
USE_WPA2_TASK
|
|
CONFIG_WPS2
|
|
CONFIG_WPS_PIN
|
|
USE_WPS_TASK
|
|
ESPRESSIF_USE
|
|
ESP32_WORKAROUND
|
|
CONFIG_ECC
|
|
)
|