[patch] WPS: supplicant may select non-WPS AP for connection
Andriy Tkachuk
andriy.v.tkachuk
Thu Oct 22 06:58:44 PDT 2009
On 2009-10-15 22:03, Jouni Malinen wrote:
>> On 2009-07-03 14:53, Andriy Tkachuk wrote:
>>
>>> When non-WPS AP have *hidden* SSID set, supplicant may select this AP
>>> for WPS connection that is wrong. Moreover such AP may cause false
>>> overlap detection. Attached patch solve this issue.
>>>
>
> The selecting part seems to be a valid issue, but I do not see how this
> would trigger false overlap detection.
It happen when such AP is selected for connection while the real AP
which was activated for PBC connection is checked in
wpas_wps_scan_pbc_overlap() against it and generates false overlap
error. See following loop:
for (i = 0; i < wpa_s->scan_res->num; i++) {
struct wpa_scan_res *bss = wpa_s->scan_res->res[i];
struct wpabuf *ie;
if (bss == selected)
continue;
/* HERE THE SELECTED ODD AP IS PASSED */
ie = wpa_scan_get_vendor_ie_multi(bss, WPS_IE_VENDOR_TYPE);
if (!ie)
continue;
if (!wps_is_selected_pbc_registrar(ie)) {
wpabuf_free(ie);
continue;
}
/* HERE WE CHECK SELECTED ODD AP WITH THE REAL ACTIVATED AP */
uuid = wps_get_uuid_e(ie);
if (sel_uuid == NULL || uuid == NULL ||
os_memcmp(sel_uuid, uuid, 16) != 0) {
ret = 1; /* PBC overlap */
/* AND OVERLAP IS DETECTED */
wpabuf_free(ie);
break;
}
/* TODO: verify that this is reasonable dual-band situation */
wpabuf_free(ie);
}
> In addition, this is actually
> more generic issue with wildcard SSID matching and not limited to just
> WPS. As such, the proper fix is also more generic: skip BSSes for which
> we do not know the SSID (ssid_len == 0). This applies both to
> wpa_supplicant_select_bss_non_wpa() and wpa_supplicant_select_bss_wpa()
> (the latter one, though, only applies for WPS case; the former for
> non-WPS, too).
>
But what if user would like to connect by BSSID regardless of ESSID of
the AP (regardless whether it is set or not)? Now you requires all the
APs to have ESSID set to connect to it even if you know the BSSID.
Regards,
Andriy
More information about the Hostap
mailing list