WPS: Add more verbose debug info on PBC session overlap detection
authorJouni Malinen <jouni.malinen@atheros.com>
Mon, 20 Sep 2010 22:08:52 +0000 (15:08 -0700)
committerJouni Malinen <j@w1.fi>
Mon, 20 Sep 2010 22:08:52 +0000 (15:08 -0700)
wpa_supplicant/wps_supplicant.c

index a324b46..015158b 100644 (file)
@@ -1153,12 +1153,21 @@ int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
        if (!eap_is_wps_pbc_enrollee(&ssid->eap))
                return 0;
 
+       wpa_printf(MSG_DEBUG, "WPS: Check whether PBC session overlap is "
+                  "present in scan results; selected BSSID " MACSTR,
+                  MAC2STR(selected->bssid));
+
        /* Make sure that only one AP is in active PBC mode */
        wps_ie = wpa_bss_get_vendor_ie_multi(selected, WPS_IE_VENDOR_TYPE);
-       if (wps_ie)
+       if (wps_ie) {
                sel_uuid = wps_get_uuid_e(wps_ie);
-       else
+               wpa_hexdump(MSG_DEBUG, "WPS: UUID of the selected BSS",
+                           sel_uuid, UUID_LEN);
+       } else {
+               wpa_printf(MSG_DEBUG, "WPS: Selected BSS does not include "
+                          "WPS IE?!");
                sel_uuid = NULL;
+       }
 
        dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) {
                struct wpabuf *ie;
@@ -1171,10 +1180,18 @@ int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
                        wpabuf_free(ie);
                        continue;
                }
+               wpa_printf(MSG_DEBUG, "WPS: Another BSS in active PBC mode: "
+                          MACSTR, MAC2STR(bss->bssid));
                uuid = wps_get_uuid_e(ie);
+               wpa_hexdump(MSG_DEBUG, "WPS: UUID of the other BSS",
+                           uuid, UUID_LEN);
                if (sel_uuid == NULL || uuid == NULL ||
-                   os_memcmp(sel_uuid, uuid, 16) != 0) {
+                   os_memcmp(sel_uuid, uuid, UUID_LEN) != 0) {
                        ret = 1; /* PBC overlap */
+                       wpa_msg(wpa_s, MSG_INFO, "WPS: PBC overlap detected: "
+                               MACSTR " and " MACSTR,
+                               MAC2STR(selected->bssid),
+                               MAC2STR(bss->bssid));
                        wpabuf_free(ie);
                        break;
                }