mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-02-07 04:34:04 -05:00
mka: Fix the order of operations in secure channel deletion
The correct order of deleting a secure channel is to purge all the secure associations in the channel before actually deleting the secure channel. Signed-off-by: Badrish Adiga H R <badrish.adigahr@gmail.com>
This commit is contained in:
parent
213eb18851
commit
128f6a98b3
@ -2361,9 +2361,9 @@ static void ieee802_1x_participant_timer(void *eloop_ctx, void *timeout_ctx)
|
|||||||
&participant->rxsc_list,
|
&participant->rxsc_list,
|
||||||
struct receive_sc, list) {
|
struct receive_sc, list) {
|
||||||
if (sci_equal(&rxsc->sci, &peer->sci)) {
|
if (sci_equal(&rxsc->sci, &peer->sci)) {
|
||||||
secy_delete_receive_sc(kay, rxsc);
|
|
||||||
ieee802_1x_kay_deinit_receive_sc(
|
ieee802_1x_kay_deinit_receive_sc(
|
||||||
participant, rxsc);
|
participant, rxsc);
|
||||||
|
secy_delete_receive_sc(kay, rxsc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dl_list_del(&peer->list);
|
dl_list_del(&peer->list);
|
||||||
@ -3432,11 +3432,11 @@ ieee802_1x_kay_delete_mka(struct ieee802_1x_kay *kay, struct mka_key_name *ckn)
|
|||||||
while (!dl_list_empty(&participant->rxsc_list)) {
|
while (!dl_list_empty(&participant->rxsc_list)) {
|
||||||
rxsc = dl_list_entry(participant->rxsc_list.next,
|
rxsc = dl_list_entry(participant->rxsc_list.next,
|
||||||
struct receive_sc, list);
|
struct receive_sc, list);
|
||||||
secy_delete_receive_sc(kay, rxsc);
|
|
||||||
ieee802_1x_kay_deinit_receive_sc(participant, rxsc);
|
ieee802_1x_kay_deinit_receive_sc(participant, rxsc);
|
||||||
|
secy_delete_receive_sc(kay, rxsc);
|
||||||
}
|
}
|
||||||
secy_delete_transmit_sc(kay, participant->txsc);
|
|
||||||
ieee802_1x_kay_deinit_transmit_sc(participant, participant->txsc);
|
ieee802_1x_kay_deinit_transmit_sc(participant, participant->txsc);
|
||||||
|
secy_delete_transmit_sc(kay, participant->txsc);
|
||||||
|
|
||||||
os_memset(&participant->cak, 0, sizeof(participant->cak));
|
os_memset(&participant->cak, 0, sizeof(participant->cak));
|
||||||
os_memset(&participant->kek, 0, sizeof(participant->kek));
|
os_memset(&participant->kek, 0, sizeof(participant->kek));
|
||||||
|
Loading…
Reference in New Issue
Block a user