]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P2: Add PMKSA caches for PASN initiator and responder
authorShivani Baranwal <quic_shivbara@quicinc.com>
Sun, 4 Aug 2024 21:13:59 +0000 (02:43 +0530)
committerJouni Malinen <j@w1.fi>
Thu, 5 Sep 2024 22:06:32 +0000 (01:06 +0300)
These are needed for pairing.

Signed-off-by: Shivani Baranwal <quic_shivbara@quicinc.com>
src/p2p/p2p.c
src/p2p/p2p_i.h

index 44e160cb77d16f8bd78c57b06cbb0d4a363ba050..cdb443cda6abb9b614e09020dd62df4d5ee20e32 100644 (file)
 #include "common/defs.h"
 #include "common/ieee802_11_defs.h"
 #include "common/ieee802_11_common.h"
+#include "common/wpa_common.h"
 #include "common/wpa_ctrl.h"
+#include "common/sae.h"
 #include "crypto/sha256.h"
+#include "crypto/sha384.h"
 #include "crypto/crypto.h"
+#include "pasn/pasn_common.h"
 #include "wps/wps_i.h"
 #include "p2p_i.h"
 #include "p2p.h"
@@ -2980,6 +2984,10 @@ bool is_p2p_6ghz_disabled(struct p2p_data *p2p)
 
 static void p2p_pairing_info_deinit(struct p2p_data *p2p)
 {
+#ifdef CONFIG_PASN
+       pasn_initiator_pmksa_cache_deinit(p2p->initiator_pmksa);
+       pasn_responder_pmksa_cache_deinit(p2p->responder_pmksa);
+#endif /* CONFIG_PASN */
        os_free(p2p->pairing_info);
 }
 
@@ -3011,6 +3019,10 @@ static int p2p_pairing_info_init(struct p2p_data *p2p)
 
        p2p_pairing_info_deinit(p2p);
        p2p->pairing_info = pairing_info;
+#ifdef CONFIG_PASN
+       p2p->initiator_pmksa = pasn_initiator_pmksa_cache_init();
+       p2p->responder_pmksa = pasn_responder_pmksa_cache_init();
+#endif /* CONFIG_PASN */
 
        return 0;
 }
index 28e3121cc172e75b33020001dd39aa21ac145890..2185f9b3e7109d3f9d3df18163fd732a66071b96 100644 (file)
@@ -621,6 +621,11 @@ struct p2p_data {
        bool allow_6ghz;
 
        struct p2p_pairing_info *pairing_info;
+
+       /* Pairing initiator PMKSA cache */
+       struct rsn_pmksa_cache *initiator_pmksa;
+       /* Pairing responder PMKSA cache */
+       struct rsn_pmksa_cache *responder_pmksa;
 };
 
 /**