[PATCH 39/92] NAN: Add NIRA to the list of parsed attributes

Andrei Otcheretianski andrei.otcheretianski at intel.com
Wed Apr 22 05:23:30 PDT 2026


From: Avraham Stern <avraham.stern at intel.com>

Add NAN Identity Resolution attribute (NIRA) to the attributes parsed
in nan_parse_attrs().

Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
 src/nan/nan_i.h    |  2 ++
 src/nan/nan_util.c | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/nan/nan_i.h b/src/nan/nan_i.h
index 3e00aa7d9d..b032d88fe4 100644
--- a/src/nan/nan_i.h
+++ b/src/nan/nan_i.h
@@ -572,6 +572,7 @@ struct nan_attrs {
 	const u8 *shared_key_desc;
 	const u8 *dev_capa_ext;
 	const u8 *npba;
+	const u8 *nira;
 
 	u16 ndp_len;
 	u16 ndl_len;
@@ -581,6 +582,7 @@ struct nan_attrs {
 	u16 shared_key_desc_len;
 	u16 dev_capa_ext_len;
 	u16 npba_len;
+	u16 nira_len;
 };
 
 struct nan_msg {
diff --git a/src/nan/nan_util.c b/src/nan/nan_util.c
index 3c9b7fd871..c459c2b6b3 100644
--- a/src/nan/nan_util.c
+++ b/src/nan/nan_util.c
@@ -204,6 +204,18 @@ int nan_parse_attrs(struct nan_data *nan, const u8 *data, size_t len,
 			attrs->npba = pos;
 			attrs->npba_len = attr_len;
 			break;
+		case NAN_ATTR_NIRA:
+			if (pos[0] != NAN_NIRA_CIPHER_VER_128)
+				break;
+
+			/* Cipher Version (1) + Nonce (8) + Tag (8) */
+			if (attr_len !=
+			    1 + NAN_NIRA_NONCE_LEN + NAN_NIRA_TAG_LEN)
+				break;
+
+			attrs->nira = pos;
+			attrs->nira_len = attr_len;
+			break;
 		case NAN_ATTR_MASTER_INDICATION:
 		case NAN_ATTR_CLUSTER:
 		case NAN_ATTR_NAN_ATTR_SERVICE_ID_LIST:
@@ -229,7 +241,6 @@ int nan_parse_attrs(struct nan_data *nan, const u8 *data, size_t len,
 		case NAN_ATTR_PUBLIC_AVAILABILITY:
 		case NAN_ATTR_SUBSC_SERVICE_ID_LIST:
 		case NAN_ATTR_NDP_EXT:
-		case NAN_ATTR_NIRA:
 		case NAN_ATTR_S3:
 		case NAN_ATTR_TPEA:
 		case NAN_ATTR_VENDOR_SPECIFIC:
-- 
2.53.0




More information about the Hostap mailing list