WPS 2.0: Add device attributes into Probe Request
authorJouni Malinen <jouni.malinen@atheros.com>
Tue, 22 Dec 2009 23:10:25 +0000 (01:10 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 9 Sep 2010 13:07:47 +0000 (06:07 -0700)
Add Manufacturer, Model Name, Model Number, and Device Name attributes
into the WSC IE in the Probe Request frames.

src/wps/wps.c
src/wps/wps_dev_attr.c
src/wps/wps_dev_attr.h

index e86021d..4bfd19a 100644 (file)
@@ -450,6 +450,10 @@ struct wpabuf * wps_build_probe_req_ie(int pbc, struct wps_device_data *dev,
            wps_build_dev_password_id(ie, pbc ? DEV_PW_PUSHBUTTON :
                                      DEV_PW_DEFAULT) ||
            wps_build_version2(ie) ||
+           wps_build_manufacturer(dev, ie) ||
+           wps_build_model_name(dev, ie) ||
+           wps_build_model_number(dev, ie) ||
+           wps_build_dev_name(dev, ie) ||
            (req_type == WPS_REQ_ENROLLEE &&
             wps_build_req_to_enroll(ie))) {
                wpabuf_free(ie);
index 090bfa2..6ae84f2 100644 (file)
@@ -19,8 +19,7 @@
 #include "wps_dev_attr.h"
 
 
-static int wps_build_manufacturer(struct wps_device_data *dev,
-                                 struct wpabuf *msg)
+int wps_build_manufacturer(struct wps_device_data *dev, struct wpabuf *msg)
 {
        size_t len;
        wpa_printf(MSG_DEBUG, "WPS:  * Manufacturer");
@@ -42,8 +41,7 @@ static int wps_build_manufacturer(struct wps_device_data *dev,
 }
 
 
-static int wps_build_model_name(struct wps_device_data *dev,
-                               struct wpabuf *msg)
+int wps_build_model_name(struct wps_device_data *dev, struct wpabuf *msg)
 {
        size_t len;
        wpa_printf(MSG_DEBUG, "WPS:  * Model Name");
@@ -65,8 +63,7 @@ static int wps_build_model_name(struct wps_device_data *dev,
 }
 
 
-static int wps_build_model_number(struct wps_device_data *dev,
-                                 struct wpabuf *msg)
+int wps_build_model_number(struct wps_device_data *dev, struct wpabuf *msg)
 {
        size_t len;
        wpa_printf(MSG_DEBUG, "WPS:  * Model Number");
@@ -121,7 +118,7 @@ int wps_build_primary_dev_type(struct wps_device_data *dev, struct wpabuf *msg)
 }
 
 
-static int wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg)
+int wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg)
 {
        size_t len;
        wpa_printf(MSG_DEBUG, "WPS:  * Device Name");
index a9c16ea..1c80df1 100644 (file)
 
 struct wps_parse_attr;
 
+int wps_build_manufacturer(struct wps_device_data *dev, struct wpabuf *msg);
+int wps_build_model_name(struct wps_device_data *dev, struct wpabuf *msg);
+int wps_build_model_number(struct wps_device_data *dev, struct wpabuf *msg);
+int wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg);
 int wps_build_device_attrs(struct wps_device_data *dev, struct wpabuf *msg);
 int wps_build_os_version(struct wps_device_data *dev, struct wpabuf *msg);
 int wps_build_rf_bands(struct wps_device_data *dev, struct wpabuf *msg);