diff --git a/src/eapol.c b/src/eapol.c index 93e9de18..b9acb1ee 100644 --- a/src/eapol.c +++ b/src/eapol.c @@ -461,3 +461,11 @@ void eapol_sm_set_pmk(struct eapol_sm *sm, const uint8_t *pmk) { memcpy(sm->pmk, pmk, sizeof(sm->pmk)); } + +void eapol_sm_set_ap_rsn(struct eapol_sm *sm, const uint8_t *rsn_ie, + size_t len) +{ + sm->ap_rsn_size = len; + l_free(sm->ap_rsn); + sm->ap_rsn = l_memdup(rsn_ie, len); +} diff --git a/src/eapol.h b/src/eapol.h index 3faab03b..7e5a9602 100644 --- a/src/eapol.h +++ b/src/eapol.h @@ -128,3 +128,5 @@ void eapol_sm_free(struct eapol_sm *sm); void eapol_sm_set_sta_address(struct eapol_sm *sm, const uint8_t *sta_addr); void eapol_sm_set_aa_address(struct eapol_sm *sm, const uint8_t *aa_addr); void eapol_sm_set_pmk(struct eapol_sm *sm, const uint8_t *pmk); +void eapol_sm_set_ap_rsn(struct eapol_sm *sm, const uint8_t *rsn_ie, + size_t len);