diff --git a/src/wps/wps_attr_build.c b/src/wps/wps_attr_build.c index f10f3c8da..3ec8204cc 100644 --- a/src/wps/wps_attr_build.c +++ b/src/wps/wps_attr_build.c @@ -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; } diff --git a/src/wps/wps_defs.h b/src/wps/wps_defs.h index 197d20c7a..13716de9d 100644 --- a/src/wps/wps_defs.h +++ b/src/wps/wps_defs.h @@ -15,7 +15,11 @@ #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 */