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);
}
/*
* TODO: Handle IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC case
*/
if (!sm->handshake->wpa_ie) {
if (!sm->handshake->wpa_ie && sm->handshake->group_cipher !=
IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC) {
gtk = handshake_util_find_gtk_kde(decrypted_key_data,
decrypted_key_data_size,
&gtk_len);
@ -1555,6 +1553,10 @@ static void eapol_key_handle(struct eapol_sm *sm,
if (!sm->handshake->ptk_complete)
goto done;
if (sm->handshake->group_cipher ==
IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC)
goto done;
if (!decrypted_key_data)
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)
{
if (mask == IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC)
return IE_RSN_CIPHER_SUITE_NO_GROUP_TRAFFIC;
mask &= wiphy->supported_ciphers;
/* CCMP is our first choice, TKIP second */