]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
OWE: Get the bss from bssid of assoc_reject to try for next group
authorSrinivas Dasari <dasaris@codeaurora.org>
Mon, 7 May 2018 14:07:08 +0000 (19:37 +0530)
committerJouni Malinen <j@w1.fi>
Tue, 15 May 2018 22:16:54 +0000 (01:16 +0300)
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>
wpa_supplicant/events.c

index 9400090cf26fe4f362f0ec914c6b4d5457a396c5..b8e0f7b1f2e988b0c2b5ff1dc66811f5b514718f 100644 (file)
@@ -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);