return;
}
+ wpa_s->dpp_pkex_wait_auth_req = false;
wpa_s->dpp_gas_client = 0;
wpa_s->dpp_gas_server = 0;
wpa_s->dpp_auth_ok_on_ack = 0;
return;
}
+ wpa_s->dpp_pkex_wait_auth_req = false;
msg = wpa_s->dpp_pkex->exchange_resp;
wait_time = wpa_s->max_remain_on_chan;
if (wait_time > 2000)
wpabuf_free(msg);
wpas_dpp_pkex_finish(wpa_s, src, freq);
+ wpa_s->dpp_pkex_wait_auth_req = true;
}
void wpas_dpp_stop(struct wpa_supplicant *wpa_s)
{
- if (wpa_s->dpp_auth || wpa_s->dpp_pkex)
+ if (wpa_s->dpp_auth || wpa_s->dpp_pkex || wpa_s->dpp_pkex_wait_auth_req)
offchannel_send_action_done(wpa_s);
dpp_auth_deinit(wpa_s->dpp_auth);
wpa_s->dpp_auth = NULL;
dpp_pkex_free(wpa_s->dpp_pkex);
wpa_s->dpp_pkex = NULL;
+ wpa_s->dpp_pkex_wait_auth_req = false;
if (wpa_s->dpp_gas_client && wpa_s->dpp_gas_dialog_token >= 0)
gas_query_stop(wpa_s->gas, wpa_s->dpp_gas_dialog_token);
}
u8 dpp_last_ssid[SSID_MAX_LEN];
size_t dpp_last_ssid_len;
bool dpp_conf_backup_received;
+ bool dpp_pkex_wait_auth_req;
#ifdef CONFIG_DPP2
struct dpp_pfs *dpp_pfs;
int dpp_pfs_fallback;