3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-29 22:19:23 +01:00

scan: parse interworking element

This commit is contained in:
James Prestwood 2019-06-26 10:42:47 -07:00 committed by Denis Kenzior
parent f0848cc44a
commit 45130ec5ee
2 changed files with 11 additions and 0 deletions

View File

@ -894,6 +894,16 @@ static bool scan_parse_bss_information_elements(struct scan_bss *bss,
scan_parse_advertisement_protocol(bss, iter.data, scan_parse_advertisement_protocol(bss, iter.data,
iter.len); iter.len);
break; break;
case IE_TYPE_INTERWORKING:
/*
* No bits indicate if venue/HESSID is included, so the
* length is the only way to know.
* (IEEE 802.11-2016 - Figure 9-439)
*/
if (iter.len == 9)
memcpy(bss->hessid, iter.data + 3, 6);
else if (iter.len == 7)
memcpy(bss->hessid, iter.data + 1, 6);
} }
} }

View File

@ -62,6 +62,7 @@ struct scan_bss {
uint8_t ht_ie[28]; uint8_t ht_ie[28];
uint8_t vht_ie[14]; uint8_t vht_ie[14];
uint64_t time_stamp; uint64_t time_stamp;
uint8_t hessid[6];
bool mde_present : 1; bool mde_present : 1;
bool cc_present : 1; bool cc_present : 1;
bool cap_rm_neighbor_report : 1; bool cap_rm_neighbor_report : 1;