OWE: Mark BSS for transition mode based on active OWE network profiles
It is possible for the hidden OWE BSS to be found based on SSID-specific scan (e.g., from the special OWE scan mechanism). In that sequence, the previously used learning of OWE BSS was skipped since the SSID was already present in the BSS entry. This could result in not being able to find a matching BSS entry for the OWE BSS in transition mode. Fix this by adding the BSS flag for transition mode based on SSID matching against currently enabled OWE network profiles in addition to the previous mechanism. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
ecb5219d8c
commit
3c73811507
1 changed files with 18 additions and 0 deletions
|
@ -995,6 +995,24 @@ static void owe_trans_ssid(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
|
|||
*ret_ssid = pos;
|
||||
*ret_ssid_len = ssid_len;
|
||||
|
||||
if (!(bss->flags & WPA_BSS_OWE_TRANSITION)) {
|
||||
struct wpa_ssid *ssid;
|
||||
|
||||
for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) {
|
||||
if (wpas_network_disabled(wpa_s, ssid))
|
||||
continue;
|
||||
if (ssid->ssid_len == ssid_len &&
|
||||
os_memcmp(ssid->ssid, pos, ssid_len) == 0) {
|
||||
/* OWE BSS in transition mode for a currently
|
||||
* enabled OWE network. */
|
||||
wpa_dbg(wpa_s, MSG_DEBUG,
|
||||
"OWE: transition mode OWE SSID for active OWE profile");
|
||||
bss->flags |= WPA_BSS_OWE_TRANSITION;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (bss->ssid_len > 0)
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in a new issue