summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVignesh Viswanathan <viswanat@codeaurora.org>2017-12-19 18:21:55 +0530
committersnandini <snandini@codeaurora.org>2017-12-19 08:31:23 -0800
commitab975ebd1bc88fa540c53340f75c1a1082a9f357 (patch)
tree81f15fff1e7821eff8edb55f73021d0c44a95f49
parentea64a8edfa111798d3036d8600c6e9ecf6657eba (diff)
qcacld-3.0: Fix min IE length for FILS indication IE
FILS indication IE minimum length should be 4 bytes (2 bytes for tag and length) + (2 bytes for realm hash). However current mininum is set to 5 bytes. Usually AP sends cache identifier also in the FILS indication IE, which is optional and causes the ie length to be greater than min of 5. If the AP does not send Cache Identifier and sends only realm hash, the IE length would be 4, which causes the IE to be skipped in parsing thereby failing FILS connection. Fix min IE length to 4 bytes in the frame parser for FILS Indication IE Change-Id: I07f2b724f5840f9ba8ec663e0b303d8fc86663da CRs-Fixed: 2161241
-rw-r--r--core/mac/src/cfg/cfgUtil/dot11f.frms2
-rw-r--r--core/mac/src/include/dot11f.h4
-rw-r--r--core/mac/src/sys/legacy/src/utils/src/dot11f.c10
3 files changed, 8 insertions, 8 deletions
diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms
index 7e14a8285133..dff7d55bfda6 100644
--- a/core/mac/src/cfg/cfgUtil/dot11f.frms
+++ b/core/mac/src/cfg/cfgUtil/dot11f.frms
@@ -2570,7 +2570,7 @@ IE fils_indication (EID_FILS_INDICATION)
reserved : 4;
}
// other FILS elements
- variable_data[3..255];
+ variable_data[2..255];
}
IE fils_assoc_delay_info (EID_EXTN_ID_ELEMENT) OUI ( 0x01 )
diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h
index ba3818f57efc..564e0ffd6775 100644
--- a/core/mac/src/include/dot11f.h
+++ b/core/mac/src/include/dot11f.h
@@ -35,7 +35,7 @@
*
*
* This file was automatically generated by 'framesc'
- * Wed Dec 13 20:23:59 2017 from the following file(s):
+ * Tue Dec 19 17:58:19 2017 from the following file(s):
*
* dot11f.frms
*
@@ -8202,7 +8202,7 @@ typedef struct sDot11fIEfils_indication {
#define DOT11F_EID_FILS_INDICATION (240)
/* N.B. These #defines do *not* include the EID & length */
-#define DOT11F_IE_FILS_INDICATION_MIN_LEN (5)
+#define DOT11F_IE_FILS_INDICATION_MIN_LEN (4)
#define DOT11F_IE_FILS_INDICATION_MAX_LEN (257)
diff --git a/core/mac/src/sys/legacy/src/utils/src/dot11f.c b/core/mac/src/sys/legacy/src/utils/src/dot11f.c
index f3a460fa7045..dc9f744f189f 100644
--- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c
+++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c
@@ -33,7 +33,7 @@
*
*
* This file was automatically generated by 'framesc'
- * Wed Dec 13 20:23:59 2017 from the following file(s):
+ * Tue Dec 19 17:58:19 2017 from the following file(s):
*
* dot11f.frms
*
@@ -7237,7 +7237,7 @@ static const tIEDefn IES_Beacon[] = {
0, DOT11F_EID_OBSSSCANPARAMETERS, 0, 0, },
{ offsetof(tDot11fBeacon, fils_indication),
offsetof(tDot11fIEfils_indication, present), 0, "fils_indication",
- 0, 7, 259, SigIefils_indication, {0, 0, 0, 0, 0},
+ 0, 6, 259, SigIefils_indication, {0, 0, 0, 0, 0},
0, DOT11F_EID_FILS_INDICATION, 0, 0, },
{ offsetof(tDot11fBeacon, Vendor1IE), offsetof(tDot11fIEVendor1IE,
present), 0, "Vendor1IE", 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0},
@@ -7452,7 +7452,7 @@ static const tIEDefn IES_Beacon2[] = {
0, DOT11F_EID_OBSSSCANPARAMETERS, 0, 0, },
{ offsetof(tDot11fBeacon2, fils_indication),
offsetof(tDot11fIEfils_indication, present), 0, "fils_indication",
- 0, 7, 259, SigIefils_indication, {0, 0, 0, 0, 0},
+ 0, 6, 259, SigIefils_indication, {0, 0, 0, 0, 0},
0, DOT11F_EID_FILS_INDICATION, 0, 0, },
{ offsetof(tDot11fBeacon2, Vendor1IE), offsetof(tDot11fIEVendor1IE,
present), 0, "Vendor1IE", 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0},
@@ -7663,7 +7663,7 @@ static const tIEDefn IES_BeaconIEs[] = {
0, DOT11F_EID_OBSSSCANPARAMETERS, 0, 0, },
{ offsetof(tDot11fBeaconIEs, fils_indication),
offsetof(tDot11fIEfils_indication, present), 0, "fils_indication",
- 0, 7, 259, SigIefils_indication, {0, 0, 0, 0, 0},
+ 0, 6, 259, SigIefils_indication, {0, 0, 0, 0, 0},
0, DOT11F_EID_FILS_INDICATION, 0, 0, },
{ offsetof(tDot11fBeaconIEs, Vendor1IE), offsetof(tDot11fIEVendor1IE,
present), 0, "Vendor1IE", 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0},
@@ -8287,7 +8287,7 @@ static const tIEDefn IES_ProbeResponse[] = {
0, DOT11F_EID_OBSSSCANPARAMETERS, 0, 0, },
{ offsetof(tDot11fProbeResponse, fils_indication),
offsetof(tDot11fIEfils_indication, present), 0, "fils_indication",
- 0, 7, 259, SigIefils_indication, {0, 0, 0, 0, 0},
+ 0, 6, 259, SigIefils_indication, {0, 0, 0, 0, 0},
0, DOT11F_EID_FILS_INDICATION, 0, 0, },
{ offsetof(tDot11fProbeResponse, Vendor1IE), offsetof(tDot11fIEVendor1IE,
present), 0, "Vendor1IE", 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0},