ie: Always include RSN Capabilities bytes

This commit is contained in:
Denis Kenzior 2019-09-11 13:25:47 -05:00
parent 0db5f59d07
commit 0c7751485d
1 changed files with 9 additions and 3 deletions

View File

@ -1078,10 +1078,16 @@ static int build_ciphers_common(const struct ie_rsn_info *info, uint8_t *to,
/* Short hand the generated RSNE if possible */ /* Short hand the generated RSNE if possible */
if (info->num_pmkids == 0 && !force_group_mgmt_cipher) { if (info->num_pmkids == 0 && !force_group_mgmt_cipher) {
/* No Group Management Cipher Suite */ /* No Group Management Cipher Suite */
if (to[pos - 2] == 0 && to[pos - 1] == 0) { if (to[pos - 2] == 0 && to[pos - 1] == 0)
pos -= 2; /*
* The RSN Capabilities bytes are in theory optional,
* but some APs don't seem to like us not including
* them in the RSN element. Also wireshark has a
* bug and complains of a malformed element if these
* bytes are not included.
*/
goto done; goto done;
} else if (!info->mfpc) else if (!info->mfpc)
goto done; goto done;
else if (info->group_management_cipher == else if (info->group_management_cipher ==
IE_RSN_CIPHER_SUITE_BIP) IE_RSN_CIPHER_SUITE_BIP)