WPS: Make testing operations configurable at runtime
[libeap.git] / src / wps / wps_defs.h
index 13716de..868f8ad 100644 (file)
 #ifndef WPS_DEFS_H
 #define WPS_DEFS_H
 
-#ifdef CONFIG_WPS_EXTENSIBILITY_TESTING
-#define WPS_VERSION 0x57
-#else /* CONFIG_WPS_EXTENSIBILITY_TESTING */
+#ifdef CONFIG_WPS_TESTING
+
+extern int wps_version_number;
+extern int wps_testing_dummy_cred;
+#define WPS_VERSION wps_version_number
+
+#else /* CONFIG_WPS_TESTING */
+
+#ifdef CONFIG_WPS2
 #define WPS_VERSION 0x20
-#endif /* CONFIG_WPS_EXTENSIBILITY_TESTING */
+#else /* CONFIG_WPS2 */
+#define WPS_VERSION 0x10
+#endif /* CONFIG_WPS2 */
+
+#endif /* CONFIG_WPS_TESTING */
 
 /* Diffie-Hellman 1536-bit MODP Group; RFC 3526, Group 5 */
 #define WPS_DH_GROUP 5
@@ -129,15 +139,21 @@ enum wps_attribute {
        ATTR_802_1X_ENABLED = 0x1062,
        ATTR_APPSESSIONKEY = 0x1063,
        ATTR_WEPTRANSMITKEY = 0x1064,
-       ATTR_SETTINGS_DELAY_TIME = 0x1065,
-       ATTR_NETWORK_KEY_SHAREABLE = 0x1066,
-       ATTR_VERSION2 = 0x1067,
-       ATTR_REQUEST_TO_ENROLL = 0x1068,
-       ATTR_AUTHORIZED_MACS = 0x1069,
        ATTR_REQUESTED_DEV_TYPE = 0x106a,
        ATTR_EXTENSIBILITY_TEST = 0x10fa /* _NOT_ defined in the spec */
 };
 
+#define WPS_VENDOR_ID_WFA 14122
+
+/* WFA Vendor Extension subelements */
+enum {
+       WFA_ELEM_VERSION2 = 0x00,
+       WFA_ELEM_AUTHORIZEDMACS = 0x01,
+       WFA_ELEM_NETWORK_KEY_SHAREABLE = 0x02,
+       WFA_ELEM_REQUEST_TO_ENROLL = 0x03,
+       WFA_ELEM_SETTINGS_DELAY_TIME = 0x04
+};
+
 /* Device Password ID */
 enum wps_dev_password_id {
        DEV_PW_DEFAULT = 0x0000,
@@ -222,10 +238,12 @@ enum wps_config_error {
 #define WPS_CONFIG_NFC_INTERFACE 0x0040
 #define WPS_CONFIG_PUSHBUTTON 0x0080
 #define WPS_CONFIG_KEYPAD 0x0100
+#ifdef CONFIG_WPS2
 #define WPS_CONFIG_VIRT_PUSHBUTTON 0x0280
 #define WPS_CONFIG_PHY_PUSHBUTTON 0x0480
 #define WPS_CONFIG_VIRT_DISPLAY 0x2008
 #define WPS_CONFIG_PHY_DISPLAY 0x4008
+#endif /* CONFIG_WPS2 */
 
 /* Connection Type Flags */
 #define WPS_CONN_ESS 0x01