diff options
author | James Prestwood <prestwoj@gmail.com> | 2023-12-06 12:17:53 -0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2023-12-13 10:07:28 -0600 |
commit | a7fe6a9c128958f245cf57a541d30fa097d6a490 (patch) | |
tree | bdbeaa109a27bf4891bec6f891f38ce9122083aa | |
parent | d756e60f2471a01a0391616f3b2de62cd18df53e (diff) |
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.
-rw-r--r-- | src/handshake.c | 14 | ||||
-rw-r--r-- | src/handshake.h | 7 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/handshake.c b/src/handshake.c index cf9c18d53..07e0657d0 100644 --- a/src/handshake.c +++ b/src/handshake.c @@ -123,6 +123,8 @@ void handshake_state_free(struct handshake_state *s) l_free(s->supplicant_rsnxe); l_free(s->mde); 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_resp_ie); 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); } +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, const struct iovec *iov, size_t n_iovs) diff --git a/src/handshake.h b/src/handshake.h index 3b51cb347..5dd225e88 100644 --- a/src/handshake.h +++ b/src/handshake.h @@ -104,6 +104,8 @@ struct handshake_state { uint8_t *supplicant_rsnxe; uint8_t *mde; uint8_t *fte; + uint8_t *authenticator_fte; + uint8_t *supplicant_fte; uint8_t *vendor_ies; size_t vendor_ies_len; 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, const uint8_t *mde); 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, const struct iovec *iov, size_t n_iovs); |