aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorSrinivas Dasari <dasaris@codeaurora.org>2018-05-07 14:07:08 (GMT)
committerJouni Malinen <j@w1.fi>2018-05-15 22:16:54 (GMT)
commit16d5c9637c73a23cda4e7835d6c87845e05320c1 (patch)
tree76c3705a78ba458b0c364bbf55aa2e53a87e3c77 /wpa_supplicant
parentc4dd3afa3c492cfa339c7102e4acd6be15598e1c (diff)
downloadhostap-16d5c9637c73a23cda4e7835d6c87845e05320c1.zip
hostap-16d5c9637c73a23cda4e7835d6c87845e05320c1.tar.gz
hostap-16d5c9637c73a23cda4e7835d6c87845e05320c1.tar.bz2
OWE: Get the bss from bssid of assoc_reject to try for next group
On an assoc_reject from the BSS with the status=77, a connection attempt with the next supported group happens. The BSS considered here is from current_bss which may be NULL at this point of time with SME-in-driver case. Address this by getting the BSS from the bssid obtained in association reject indication and skip the step if no BSS entry can be found. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/events.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 9400090..b8e0f7b 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -4102,6 +4102,15 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
struct wpa_ssid *ssid = wpa_s->current_ssid;
struct wpa_bss *bss = wpa_s->current_bss;
+ if (!bss) {
+ const u8 *bssid = data->assoc_reject.bssid;
+
+ if (!bssid || is_zero_ether_addr(bssid))
+ bssid = wpa_s->pending_bssid;
+ bss = wpa_supplicant_get_new_bss(wpa_s, bssid);
+ if (!bss)
+ break;
+ }
wpa_printf(MSG_DEBUG,
"OWE: Try next supported DH group");
wpas_connect_work_done(wpa_s);