WPS 2.0: Add tool for testing protocol extensibility
authorJouni Malinen <jouni.malinen@atheros.com>
Fri, 11 Jun 2010 05:25:51 +0000 (22:25 -0700)
committerJouni Malinen <j@w1.fi>
Thu, 9 Sep 2010 13:07:48 +0000 (06:07 -0700)
This is disabled by default and can be enabled by defining
CONFIG_WPS_EXTENSIBILITY_TESTING.

src/wps/wps_attr_build.c
src/wps/wps_defs.h

index f10f3c8..3ec8204 100644 (file)
@@ -178,6 +178,13 @@ int wps_build_version2(struct wpabuf *msg)
        wpabuf_put_be16(msg, ATTR_VERSION2);
        wpabuf_put_be16(msg, 1);
        wpabuf_put_u8(msg, WPS_VERSION);
+#ifdef CONFIG_WPS_EXTENSIBILITY_TESTING
+       wpa_printf(MSG_DEBUG, "WPS:  * Extensibility Testing - extra "
+                  "attribute";
+       wpabuf_put_be16(msg, ATTR_EXTENSIBILITY_TEST);
+       wpabuf_put_be16(msg, 1);
+       wpabuf_put_u8(msg, 42);
+#endif /* CONFIG_WPS_EXTENSIBILITY_TESTING */
        return 0;
 }
 
index 197d20c..13716de 100644 (file)
 #ifndef WPS_DEFS_H
 #define WPS_DEFS_H
 
+#ifdef CONFIG_WPS_EXTENSIBILITY_TESTING
+#define WPS_VERSION 0x57
+#else /* CONFIG_WPS_EXTENSIBILITY_TESTING */
 #define WPS_VERSION 0x20
+#endif /* CONFIG_WPS_EXTENSIBILITY_TESTING */
 
 /* Diffie-Hellman 1536-bit MODP Group; RFC 3526, Group 5 */
 #define WPS_DH_GROUP 5
@@ -130,7 +134,8 @@ enum wps_attribute {
        ATTR_VERSION2 = 0x1067,
        ATTR_REQUEST_TO_ENROLL = 0x1068,
        ATTR_AUTHORIZED_MACS = 0x1069,
-       ATTR_REQUESTED_DEV_TYPE = 0x106a
+       ATTR_REQUESTED_DEV_TYPE = 0x106a,
+       ATTR_EXTENSIBILITY_TEST = 0x10fa /* _NOT_ defined in the spec */
 };
 
 /* Device Password ID */