From c15a854aec10a053cdbb955abc7f05d11fa51d1f Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 10 Jun 2010 22:25:51 -0700 Subject: [PATCH] WPS 2.0: Add tool for testing protocol extensibility This is disabled by default and can be enabled by defining CONFIG_WPS_EXTENSIBILITY_TESTING. --- src/wps/wps_attr_build.c | 7 +++++++ src/wps/wps_defs.h | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) 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 */