3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-22 14:49:24 +01:00

handshake: add setters for authenticator/supplicant_fte

In general only the authenticator FTE is used/validated but with
some FT refactoring coming there needs to be a way to build the
supplicants FTE into the handshake object. Because of this there
needs to be separate FTE buffers for both the authenticator and
supplicant.
This commit is contained in:
James Prestwood 2023-12-06 12:17:53 -08:00 committed by Denis Kenzior
parent d756e60f24
commit a7fe6a9c12
2 changed files with 21 additions and 0 deletions

View File

@ -123,6 +123,8 @@ void handshake_state_free(struct handshake_state *s)
l_free(s->supplicant_rsnxe); l_free(s->supplicant_rsnxe);
l_free(s->mde); l_free(s->mde);
l_free(s->fte); l_free(s->fte);
l_free(s->authenticator_fte);
l_free(s->supplicant_fte);
l_free(s->fils_ip_req_ie); l_free(s->fils_ip_req_ie);
l_free(s->fils_ip_resp_ie); l_free(s->fils_ip_resp_ie);
l_free(s->vendor_ies); l_free(s->vendor_ies);
@ -319,6 +321,18 @@ void handshake_state_set_fte(struct handshake_state *s, const uint8_t *fte)
replace_ie(&s->fte, fte); replace_ie(&s->fte, fte);
} }
void handshake_state_set_authenticator_fte(struct handshake_state *s,
const uint8_t *fte)
{
replace_ie(&s->authenticator_fte, fte);
}
void handshake_state_set_supplicant_fte(struct handshake_state *s,
const uint8_t *fte)
{
replace_ie(&s->supplicant_fte, fte);
}
void handshake_state_set_vendor_ies(struct handshake_state *s, void handshake_state_set_vendor_ies(struct handshake_state *s,
const struct iovec *iov, const struct iovec *iov,
size_t n_iovs) size_t n_iovs)

View File

@ -104,6 +104,8 @@ struct handshake_state {
uint8_t *supplicant_rsnxe; uint8_t *supplicant_rsnxe;
uint8_t *mde; uint8_t *mde;
uint8_t *fte; uint8_t *fte;
uint8_t *authenticator_fte;
uint8_t *supplicant_fte;
uint8_t *vendor_ies; uint8_t *vendor_ies;
size_t vendor_ies_len; size_t vendor_ies_len;
enum ie_rsn_cipher_suite pairwise_cipher; enum ie_rsn_cipher_suite pairwise_cipher;
@ -216,6 +218,11 @@ void handshake_state_set_ssid(struct handshake_state *s,
void handshake_state_set_mde(struct handshake_state *s, void handshake_state_set_mde(struct handshake_state *s,
const uint8_t *mde); const uint8_t *mde);
void handshake_state_set_fte(struct handshake_state *s, const uint8_t *fte); void handshake_state_set_fte(struct handshake_state *s, const uint8_t *fte);
void handshake_state_set_authenticator_fte(struct handshake_state *s,
const uint8_t *fte);
void handshake_state_set_supplicant_fte(struct handshake_state *s,
const uint8_t *fte);
void handshake_state_set_vendor_ies(struct handshake_state *s, void handshake_state_set_vendor_ies(struct handshake_state *s,
const struct iovec *iov, const struct iovec *iov,
size_t n_iovs); size_t n_iovs);