diff options
| author | Vignesh Viswanathan <viswanat@codeaurora.org> | 2017-12-19 18:21:55 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-12-19 08:31:23 -0800 |
| commit | ab975ebd1bc88fa540c53340f75c1a1082a9f357 (patch) | |
| tree | 81f15fff1e7821eff8edb55f73021d0c44a95f49 | |
| parent | ea64a8edfa111798d3036d8600c6e9ecf6657eba (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.frms | 2 | ||||
| -rw-r--r-- | core/mac/src/include/dot11f.h | 4 | ||||
| -rw-r--r-- | core/mac/src/sys/legacy/src/utils/src/dot11f.c | 10 |
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}, |
