From 433373fe28a4e2303f8129467aa640632f1ac0c2 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Wed, 17 Apr 2019 14:53:43 -0700 Subject: [PATCH] eapol: cache ERP keys on EAP success --- src/eapol.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/eapol.c b/src/eapol.c index 0d882e96..7e0442da 100644 --- a/src/eapol.c +++ b/src/eapol.c @@ -39,6 +39,7 @@ #include "src/eap.h" #include "src/handshake.h" #include "src/watchlist.h" +#include "src/erp.h" struct l_queue *state_machines; struct l_queue *preauths; @@ -2006,6 +2007,11 @@ static void eapol_eap_results_cb(const uint8_t *msk_data, size_t msk_len, handshake_state_set_pmk(sm->handshake, msk_data, msk_len); + if (sm->handshake->support_fils && emsk_data && session_id) + erp_cache_add(eap_get_identity(sm->eap), session_id, + session_len, emsk_data, emsk_len, + (const char *)sm->handshake->ssid); + return; msk_short: