mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-19 00:40:06 +01:00
Fix handling of multiple AP credentials in WPS
WPS can send multiple AP credentials, while existing implementation will only use the first credentials which could be for the 5G band. Fix this by passing these credentials to the App and attempting to connect using each of those. Older Apps will remain compatible without breaking WPS, but the issue will remain.
This commit is contained in:
committed by
ChenJianxing
parent
875642fedd
commit
3af4b51a5c
@@ -581,6 +581,19 @@ typedef enum {
|
||||
WPS_FAIL_REASON_MAX
|
||||
} wifi_event_sta_wps_fail_reason_t;
|
||||
|
||||
#define MAX_SSID_LEN 32
|
||||
#define MAX_PASSPHRASE_LEN 64
|
||||
#define MAX_WPS_AP_CRED 3
|
||||
|
||||
/** Argument structure for WIFI_EVENT_STA_WPS_ER_SUCCESS event */
|
||||
typedef struct {
|
||||
uint8_t ap_cred_cnt; /**< Number of AP credentials received */
|
||||
struct {
|
||||
uint8_t ssid[MAX_SSID_LEN]; /**< SSID of AP */
|
||||
uint8_t passphrase[MAX_PASSPHRASE_LEN]; /**< Passphrase for the AP */
|
||||
} ap_cred[MAX_WPS_AP_CRED]; /**< All AP credentials received from WPS handshake */
|
||||
} wifi_event_sta_wps_er_success_t;
|
||||
|
||||
/** Argument structure for WIFI_EVENT_AP_STACONNECTED event */
|
||||
typedef struct {
|
||||
uint8_t mac[6]; /**< MAC address of the station connected to ESP32 soft-AP */
|
||||
|
||||
Reference in New Issue
Block a user