[PATCH 71/92] NAN: Send NAFs to paired peer as protected dual public action
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Wed Apr 22 05:24:02 PDT 2026
From: Avraham Stern <avraham.stern at intel.com>
NAN action frames should be sent as protected dual public action
if the peer is paired.
Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
src/nan/nan.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/nan/nan.c b/src/nan/nan.c
index 6cf00a5bb5..b4f16bfc6b 100644
--- a/src/nan/nan.c
+++ b/src/nan/nan.c
@@ -1152,11 +1152,16 @@ int nan_add_peer(struct nan_data *nan, const u8 *addr,
}
-static void nan_action_build_header(struct nan_data *nan, struct wpabuf *buf,
+static void nan_action_build_header(struct nan_data *nan, struct nan_peer *peer,
+ struct wpabuf *buf,
enum nan_subtype subtype)
{
- /* TODO: need to also support protected dual */
- wpabuf_put_u8(buf, WLAN_ACTION_PUBLIC);
+ u8 category = WLAN_ACTION_PUBLIC;
+
+ if (nan_pairing_is_peer_paired(nan, peer->nmi_addr))
+ category = WLAN_ACTION_PROTECTED_DUAL;
+
+ wpabuf_put_u8(buf, category);
wpabuf_put_u8(buf, WLAN_PA_VENDOR_SPECIFIC);
wpabuf_put_be24(buf, OUI_WFA);
wpabuf_put_u8(buf, NAN_NAF_OUI_TYPE);
@@ -1171,7 +1176,7 @@ static int nan_action_build(struct nan_data *nan, struct nan_peer *peer,
wpa_printf(MSG_DEBUG, "NAN: Build NAF");
- nan_action_build_header(nan, buf, subtype);
+ nan_action_build_header(nan, peer, buf, subtype);
nan_add_dev_capa_attr(nan, buf);
nan_add_dev_capa_ext_attr(nan, buf);
--
2.53.0
More information about the Hostap
mailing list