|
@@ -3198,6 +3198,18 @@ uint16_t wlan_crypto_get_keyid(uint8_t *data, int hdrlen)
|
|
|
{
|
|
|
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)data;
|
|
|
uint8_t *iv;
|
|
|
+ uint8_t stype = WLAN_FC0_GET_STYPE(hdr->frame_control[0]);
|
|
|
+
|
|
|
+ /*
|
|
|
+ * In FILS SK (Re)Association request/response frame has
|
|
|
+ * to be decrypted
|
|
|
+ */
|
|
|
+ if ((stype == WLAN_FC0_STYPE_ASSOC_REQ) ||
|
|
|
+ (stype == WLAN_FC0_STYPE_REASSOC_REQ) ||
|
|
|
+ (stype == WLAN_FC0_STYPE_ASSOC_RESP) ||
|
|
|
+ (stype == WLAN_FC0_STYPE_REASSOC_RESP)) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
if (hdr->frame_control[1] & WLAN_FC1_ISWEP) {
|
|
|
iv = data + hdrlen;
|