Avoid reconnection on ENABLE_NETWORK if already connected
This was already the case for most command sequences, but it was possible for wpa_s->reassociate to be set to 1 when CTRL-RSP-* commands were used to set identity, password, or passphrase for EAP authentication. In such cases, ENABLE_NETWORK issued after the connection was completed could result in a new connection attempt (likely reconnection back to the same BSS). Fix this by checking whether an actual connection is already present even if wpa_s->reassociate is set when processing the ENABLE_NETWORK command. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
ce7d0eb184
commit
5a1d9d1a8e
1 changed files with 4 additions and 1 deletions
|
@ -2574,7 +2574,10 @@ void wpa_supplicant_enable_network(struct wpa_supplicant *wpa_s,
|
||||||
} else
|
} else
|
||||||
wpa_supplicant_enable_one_network(wpa_s, ssid);
|
wpa_supplicant_enable_one_network(wpa_s, ssid);
|
||||||
|
|
||||||
if (wpa_s->reassociate && !wpa_s->disconnected) {
|
if (wpa_s->reassociate && !wpa_s->disconnected &&
|
||||||
|
(!wpa_s->current_ssid ||
|
||||||
|
wpa_s->wpa_state == WPA_DISCONNECTED ||
|
||||||
|
wpa_s->wpa_state == WPA_SCANNING)) {
|
||||||
if (wpa_s->sched_scanning) {
|
if (wpa_s->sched_scanning) {
|
||||||
wpa_printf(MSG_DEBUG, "Stop ongoing sched_scan to add "
|
wpa_printf(MSG_DEBUG, "Stop ongoing sched_scan to add "
|
||||||
"new network to scan filters");
|
"new network to scan filters");
|
||||||
|
|
Loading…
Reference in a new issue