mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
Merge branch 'bugfix/wps_disable_at_timeout_v6.0' into 'release/v6.0'
fix(wifi): Disable wps in eloop context during wps abort (v6.0) See merge request espressif/esp-idf!45840
This commit is contained in:
@@ -327,6 +327,13 @@ SM_STATE(AUTH_PAE, AUTHENTICATING)
|
||||
sm->keyDone = false;
|
||||
}
|
||||
|
||||
#ifdef ESP_SUPPLICANT
|
||||
static void wifi_ap_wps_disable_timeout_handler(void *eloop_ctx, void *user_ctx)
|
||||
{
|
||||
extern int wifi_ap_wps_disable_internal(void);
|
||||
wifi_ap_wps_disable_internal();
|
||||
}
|
||||
#endif
|
||||
|
||||
SM_STATE(AUTH_PAE, ABORTING)
|
||||
{
|
||||
@@ -344,6 +351,10 @@ SM_STATE(AUTH_PAE, ABORTING)
|
||||
sm->authAbort = true;
|
||||
sm->keyRun = false;
|
||||
sm->keyDone = false;
|
||||
#ifdef ESP_SUPPLICANT
|
||||
sm->exit_sm_step_run = true;
|
||||
eloop_register_timeout(0, 0, wifi_ap_wps_disable_timeout_handler, NULL, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -921,6 +932,12 @@ restart:
|
||||
if (sm->initializing || eapol_sm_sta_entry_alive(eapol, addr))
|
||||
SM_STEP_RUN(CTRL_DIR);
|
||||
|
||||
#ifdef ESP_SUPPLICANT
|
||||
if (sm->exit_sm_step_run) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (prev_auth_pae != sm->auth_pae_state ||
|
||||
prev_be_auth != sm->be_auth_state ||
|
||||
prev_reauth_timer != sm->reauth_timer_state ||
|
||||
|
||||
@@ -171,6 +171,9 @@ struct eapol_state_machine {
|
||||
int remediation;
|
||||
|
||||
u64 acct_multi_session_id;
|
||||
#ifdef ESP_SUPPLICANT
|
||||
bool exit_sm_step_run;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif /* EAPOL_AUTH_SM_I_H */
|
||||
|
||||
Reference in New Issue
Block a user