]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
PASN: Add some specification definitions
authorIlan Peer <ilan.peer@intel.com>
Wed, 16 Dec 2020 11:00:20 +0000 (13:00 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 25 Jan 2021 16:35:50 +0000 (18:35 +0200)
Based on IEEE P802.11az/D2.6.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
src/common/ieee802_11_defs.h
src/common/wpa_common.h

index 9518a7afe909cf5cd78d6892e1d3d65b883f5e2b..399ec633c280be53988c6b9fd88db2394444ae83 100644 (file)
@@ -84,6 +84,7 @@
 #define WLAN_AUTH_FILS_SK              4
 #define WLAN_AUTH_FILS_SK_PFS          5
 #define WLAN_AUTH_FILS_PK              6
+#define WLAN_AUTH_PASN                 7
 #define WLAN_AUTH_LEAP                 128
 
 #define WLAN_AUTH_CHALLENGE_LEN 128
 #define WLAN_EID_EXT_TCLAS_MASK 89
 #define WLAN_EID_EXT_REJECTED_GROUPS 92
 #define WLAN_EID_EXT_ANTI_CLOGGING_TOKEN 93
+#define WLAN_EID_EXT_PASN_PARAMS 100
 
 /* Extended Capabilities field */
 #define WLAN_EXT_CAPAB_20_40_COEX 0
index 065dc7113de63ab25f0dfd29f26af128cf49f4d6..23e5418e6c5fa11acbffd3f7b21118b1ed3f9567 100644 (file)
@@ -19,6 +19,8 @@
 #define WPA_KEY_RSC_LEN 8
 #define WPA_GMK_LEN 32
 #define WPA_GTK_MAX_LEN 32
+#define WPA_PASN_PMK_LEN 32
+#define WPA_PASN_MAX_MIC_LEN 24
 
 #define OWE_DH_GROUP 19
 
@@ -78,6 +80,9 @@ WPA_CIPHER_BIP_CMAC_256)
 #define RSN_AUTH_KEY_MGMT_FT_FILS_SHA256 RSN_SELECTOR(0x00, 0x0f, 0xac, 16)
 #define RSN_AUTH_KEY_MGMT_FT_FILS_SHA384 RSN_SELECTOR(0x00, 0x0f, 0xac, 17)
 #define RSN_AUTH_KEY_MGMT_OWE RSN_SELECTOR(0x00, 0x0f, 0xac, 18)
+
+#define RSN_AUTH_KEY_MGMT_PASN RSN_SELECTOR(0x00, 0x0f, 0xac, 21)
+
 #define RSN_AUTH_KEY_MGMT_CCKM RSN_SELECTOR(0x00, 0x40, 0x96, 0x00)
 #define RSN_AUTH_KEY_MGMT_OSEN RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x01)
 #define RSN_AUTH_KEY_MGMT_DPP RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x02)
@@ -507,6 +512,23 @@ struct wpa_ft_ies {
        size_t rsnxe_len;
 };
 
+/* IEEE P802.11az/D2.6 - 9.4.2.303 PASN Parameters element */
+#define WPA_PASN_CTRL_COMEBACK_INFO_PRESENT BIT(0)
+#define WPA_PASN_CTRL_GROUP_AND_KEY_PRESENT BIT(1)
+
+#define WPA_PASN_WRAPPED_DATA_NO      0
+#define WPA_PASN_WRAPPED_DATA_FT      1
+#define WPA_PASN_WRAPPED_DATA_FILS_SK 2
+#define WPA_PASN_WRAPPED_DATA_SAE     3
+
+struct pasn_parameter_ie {
+       u8 id;
+       u8 len;
+       u8 id_ext;
+       u8 control; /* WPA_PASN_CTRL_* */
+       u8 wrapped_data_format; /* WPA_PASN_WRAPPED_DATA_* */
+} STRUCT_PACKED;
+
 int wpa_ft_parse_ies(const u8 *ies, size_t ies_len, struct wpa_ft_ies *parse,
                     int use_sha384);