[PATCH v2 07/20] PASN: Add some specification definitions
Ilan Peer
ilan.peer at intel.com
Wed Dec 16 06:00:20 EST 2020
Based on Draft P802.11az_D2.6.
Signed-off-by: Ilan Peer <ilan.peer at intel.com>
---
src/common/ieee802_11_defs.h | 3 +++
src/common/wpa_common.h | 22 ++++++++++++++++++++++
wlantest/Makefile | 1 +
3 files changed, 26 insertions(+)
diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index 9518a7afe9..2705589bca 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -84,6 +84,8 @@
#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
@@ -485,6 +487,7 @@
#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
diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
index 8137062abd..f6d2d48ee8 100644
--- a/src/common/wpa_common.h
+++ b/src/common/wpa_common.h
@@ -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)
@@ -511,6 +516,23 @@ struct wpa_ft_ies {
size_t rsnxe_len;
};
+/* Based on Draft P802.11az_D2.0 */
+#define WPA_PASN_CTRL_COMEBACK_INFO_PRESENT BIT(0)
+#define WPA_PASN_CTRL_GROUP_AND_KEY_PRESENT BIT(1)
+
+#define WPA_PASN_NO_WRAPPED_DATA 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;
+ u8 wrapped_data_format;
+} STRUCT_PACKED;
+
int wpa_ft_parse_ies(const u8 *ies, size_t ies_len, struct wpa_ft_ies *parse,
int use_sha384);
diff --git a/wlantest/Makefile b/wlantest/Makefile
index 602375112f..0045020d41 100644
--- a/wlantest/Makefile
+++ b/wlantest/Makefile
@@ -25,6 +25,7 @@ CFLAGS += -DCONFIG_SAE
CFLAGS += -DCONFIG_OWE
CFLAGS += -DCONFIG_DPP
CFLAGS += -DCONFIG_SHA384
+CFLAGS += -DCONFIG_PASN
OBJS += ../src/common/ieee802_11_common.o
OBJS += ../src/common/wpa_common.o
--
2.17.1
More information about the Hostap
mailing list