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>
This commit is contained in:
Srinivas Dasari 2018-05-07 19:37:08 +05:30 committed by Jouni Malinen
parent c4dd3afa3c
commit 16d5c9637c

View 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_ssid *ssid = wpa_s->current_ssid;
struct wpa_bss *bss = wpa_s->current_bss; 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, wpa_printf(MSG_DEBUG,
"OWE: Try next supported DH group"); "OWE: Try next supported DH group");
wpas_connect_work_done(wpa_s); wpas_connect_work_done(wpa_s);