mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-19 02:39:29 +01:00
eapol: allow _create_gtk_2_of_2 to work without MIC
FILS does not use a MIC, as well as requires encrypted data on GTK 2/2. This updates eapol_create_gtk_2_of_2 to pass in extra data to eapol_create_common, which will reserve room for this encrypted data. Extra data is only reserved if mic_len == 0.
This commit is contained in:
parent
ca63ac2342
commit
368d6714b9
@ -700,11 +700,14 @@ struct eapol_key *eapol_create_gtk_2_of_2(
|
|||||||
bool is_wpa, uint8_t wpa_key_id, size_t mic_len)
|
bool is_wpa, uint8_t wpa_key_id, size_t mic_len)
|
||||||
{
|
{
|
||||||
uint8_t snonce[32];
|
uint8_t snonce[32];
|
||||||
|
uint8_t extra[16] = { 0 };
|
||||||
struct eapol_key *step2;
|
struct eapol_key *step2;
|
||||||
|
|
||||||
memset(snonce, 0, sizeof(snonce));
|
memset(snonce, 0, sizeof(snonce));
|
||||||
step2 = eapol_create_common(protocol, version, true,
|
step2 = eapol_create_common(protocol, version, true,
|
||||||
key_replay_counter, snonce, 0, NULL,
|
key_replay_counter, snonce,
|
||||||
|
(mic_len) ? 0 : 16,
|
||||||
|
(mic_len) ? NULL : extra,
|
||||||
0, is_wpa, mic_len);
|
0, is_wpa, mic_len);
|
||||||
|
|
||||||
if (!step2)
|
if (!step2)
|
||||||
|
Loading…
Reference in New Issue
Block a user