3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-01 15:49:49 +01:00

eapol: Check for "No Group Traffic" group cipher suite

This commit is contained in:
Andrew Zaborowski 2017-10-21 01:27:19 +02:00 committed by Denis Kenzior
parent 2c565019c7
commit ffcda135d2
2 changed files with 9 additions and 4 deletions

View File

@ -1268,10 +1268,8 @@ static void eapol_handle_ptk_3_of_4(struct eapol_sm *sm,
override); override);
} }
/* if (!sm->handshake->wpa_ie && sm->handshake->group_cipher !=
* TODO: Handle IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC case IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC) {
*/
if (!sm->handshake->wpa_ie) {
gtk = handshake_util_find_gtk_kde(decrypted_key_data, gtk = handshake_util_find_gtk_kde(decrypted_key_data,
decrypted_key_data_size, decrypted_key_data_size,
&gtk_len); &gtk_len);
@ -1555,6 +1553,10 @@ static void eapol_key_handle(struct eapol_sm *sm,
if (!sm->handshake->ptk_complete) if (!sm->handshake->ptk_complete)
goto done; goto done;
if (sm->handshake->group_cipher ==
IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC)
goto done;
if (!decrypted_key_data) if (!decrypted_key_data)
goto done; goto done;

View File

@ -70,6 +70,9 @@ static struct l_queue *wiphy_list = NULL;
enum ie_rsn_cipher_suite wiphy_select_cipher(struct wiphy *wiphy, uint16_t mask) enum ie_rsn_cipher_suite wiphy_select_cipher(struct wiphy *wiphy, uint16_t mask)
{ {
if (mask == IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC)
return IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC;
mask &= wiphy->supported_ciphers; mask &= wiphy->supported_ciphers;
/* CCMP is our first choice, TKIP second */ /* CCMP is our first choice, TKIP second */