]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WPS: Do not indicate PBC overlap for the same BSS
authorJouni Malinen <j@w1.fi>
Wed, 24 Dec 2014 16:40:25 +0000 (18:40 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 25 Dec 2014 14:37:12 +0000 (16:37 +0200)
Even if the UUID would have a mismatch, e.g., due to no UUID known for
the target in a new WPS PBC instance, do not indicate PBC session
overlap if the BSSID is same in the two entries. This should not really
happen in normal use cases, but can happen at least in some test
scenarios where the same BSSID is used in consecutive test cases and the
old BSS entry remains in cfg80211 cache.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/wps_supplicant.c

index 0359cde9f1b7e463873b27c98788dd18da19d097..ebbb798b91225d89ec177866362d031de18bc101 100644 (file)
@@ -1706,6 +1706,10 @@ int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
                uuid = wps_get_uuid_e(ie);
                wpa_hexdump(MSG_DEBUG, "WPS: UUID of the other BSS",
                            uuid, UUID_LEN);
+               if (os_memcmp(selected->bssid, bss->bssid, ETH_ALEN) == 0) {
+                       wpabuf_free(ie);
+                       continue;
+               }
                if (sel_uuid == NULL || uuid == NULL ||
                    os_memcmp(sel_uuid, uuid, UUID_LEN) != 0) {
                        ret = 1; /* PBC overlap */