3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-10-04 02:18:49 +02:00

eapol: Add support for Transition Disable

If this indication is received in message 3/4, forward the contents as
a HANDSHAKE_EVENT_TRANSITION_DISABLE
This commit is contained in:
Denis Kenzior 2021-07-15 17:08:58 -05:00
parent 47ba837e98
commit 51b437bbfe
2 changed files with 13 additions and 0 deletions

View File

@ -1607,6 +1607,8 @@ static void eapol_handle_ptk_3_of_4(struct eapol_sm *sm,
size_t igtk_len; size_t igtk_len;
const uint8_t *rsne; const uint8_t *rsne;
const uint8_t *optional_rsne = NULL; const uint8_t *optional_rsne = NULL;
const uint8_t *transition_disable;
size_t transition_disable_len;
uint8_t gtk_key_index; uint8_t gtk_key_index;
uint16_t igtk_key_index; uint16_t igtk_key_index;
@ -1815,6 +1817,15 @@ static void eapol_handle_ptk_3_of_4(struct eapol_sm *sm,
l_debug("Authenticator ignored our IP Address Request"); l_debug("Authenticator ignored our IP Address Request");
} }
transition_disable =
handshake_util_find_kde(HANDSHAKE_KDE_TRANSITION_DISABLE,
decrypted_key_data,
decrypted_key_data_size,
&transition_disable_len);
if (transition_disable)
handshake_event(hs, HANDSHAKE_EVENT_TRANSITION_DISABLE,
transition_disable, transition_disable_len);
retransmit: retransmit:
/* /*
* 802.11-2016, Section 12.7.6.4: * 802.11-2016, Section 12.7.6.4:

View File

@ -44,6 +44,8 @@ enum handshake_kde {
/* Wi-Fi P2P Technical Specification v1.7 4.2.8 */ /* Wi-Fi P2P Technical Specification v1.7 4.2.8 */
HANDSHAKE_KDE_IP_ADDRESS_REQ = 0x506f9a04, HANDSHAKE_KDE_IP_ADDRESS_REQ = 0x506f9a04,
HANDSHAKE_KDE_IP_ADDRESS_ALLOC = 0x506f9a05, HANDSHAKE_KDE_IP_ADDRESS_ALLOC = 0x506f9a05,
/* Wi-Fi WPA3 Specification v3.0 Table 4 */
HANDSHAKE_KDE_TRANSITION_DISABLE = 0x506f9a20,
}; };
enum handshake_event { enum handshake_event {