WPS: Add MAC address to validation error message for Probe Request
authorJouni Malinen <jouni.malinen@atheros.com>
Wed, 22 Sep 2010 17:07:20 +0000 (10:07 -0700)
committerJouni Malinen <j@w1.fi>
Wed, 22 Sep 2010 17:07:20 +0000 (10:07 -0700)
This makes it easier to figure out which device is sending invalid
Probe Request frames.

src/ap/wps_hostapd.c
src/wps/wps.h
src/wps/wps_validate.c

index 7968471..f1ad1df 100644 (file)
@@ -881,7 +881,7 @@ static int hostapd_wps_probe_req_rx(void *ctx, const u8 *addr,
        wps_ie = ieee802_11_vendor_ie_concat(ie, ie_len, WPS_DEV_OUI_WFA);
        if (wps_ie == NULL)
                return 0;
-       if (wps_validate_probe_req(wps_ie) < 0) {
+       if (wps_validate_probe_req(wps_ie, addr) < 0) {
                wpabuf_free(wps_ie);
                return 0;
        }
index 8bc7547..e415061 100644 (file)
@@ -770,7 +770,7 @@ u16 wps_config_methods_str2bin(const char *str);
 int wps_validate_beacon(const struct wpabuf *wps_ie);
 int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie, int probe,
                                   const u8 *addr);
-int wps_validate_probe_req(const struct wpabuf *wps_ie);
+int wps_validate_probe_req(const struct wpabuf *wps_ie, const u8 *addr);
 int wps_validate_assoc_req(const struct wpabuf *wps_ie);
 int wps_validate_assoc_resp(const struct wpabuf *wps_ie);
 int wps_validate_m1(const struct wpabuf *tlvs);
@@ -802,7 +802,8 @@ static inline int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie,
        return 0;
 }
 
-static inline int wps_validate_probe_req(const struct wpabuf *wps_ie)
+static inline int wps_validate_probe_req(const struct wpabuf *wps_ie,
+                                        const u8 *addr)
 {
        return 0;
 }
index 7888c1b..dd1ccf2 100644 (file)
@@ -1181,7 +1181,7 @@ int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie, int probe,
 }
 
 
-int wps_validate_probe_req(const struct wpabuf *wps_ie)
+int wps_validate_probe_req(const struct wpabuf *wps_ie, const u8 *addr)
 {
        struct wps_parse_attr attr;
        int wps2;
@@ -1220,7 +1220,7 @@ int wps_validate_probe_req(const struct wpabuf *wps_ie)
            wps_validate_req_dev_type(attr.req_dev_type, attr.num_req_dev_type,
                                      0)) {
                wpa_printf(MSG_INFO, "WPS-STRICT: Invalid Probe Request "
-                          "frame");
+                          "frame from " MACSTR, MAC2STR(addr));
                return -1;
        }