[PATCH 23/92] NAN: Handle pairing PASN auth frame 2
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Wed Apr 22 05:23:14 PDT 2026
From: Avraham Stern <avraham.stern at intel.com>
Add handling for NAN pairing PASN auth frame 2.
Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
src/nan/nan_pairing.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/src/nan/nan_pairing.c b/src/nan/nan_pairing.c
index bb2c5ec51a..dd984b1e0d 100644
--- a/src/nan/nan_pairing.c
+++ b/src/nan/nan_pairing.c
@@ -659,6 +659,31 @@ static int nan_pairing_handle_auth_1(struct nan_data *nan_data, u8 *own_addr,
}
+static int nan_pairing_handle_auth_2(struct nan_data *nan_data,
+ struct nan_peer *peer,
+ const struct ieee80211_mgmt *mgmt,
+ size_t len)
+{
+ struct wpa_pasn_params_data pasn_data;
+ struct pasn_data *pasn = peer->pairing.pasn;
+
+ if (wpa_pasn_auth_rx(peer->pairing.pasn, (const u8 *)mgmt, len,
+ &pasn_data) < 0) {
+ wpa_printf(MSG_DEBUG,
+ "NAN: Pairing: wpa_pasn_auth_rx() failed");
+ nan_data->cfg->pairing_result_cb(nan_data->cfg->cb_ctx,
+ peer->nmi_addr, pasn->akmp,
+ pasn->cipher,
+ WLAN_STATUS_UNSPECIFIED_FAILURE,
+ NULL);
+ nan_pairing_deinit_peer(peer);
+ return -1;
+ }
+
+ return 0;
+}
+
+
/*
* nan_pairing_auth_rx - Handle received NAN pairing authentication frames
*
@@ -752,6 +777,8 @@ int nan_pairing_auth_rx(struct nan_data *nan_data,
return nan_pairing_handle_auth_1(nan_data,
nan_data->cfg->nmi_addr, peer,
mgmt, len);
+ else if (auth_transaction == 2)
+ return nan_pairing_handle_auth_2(nan_data, peer, mgmt, len);
return -1;
}
--
2.53.0
More information about the Hostap
mailing list