diff --git a/src/scan.c b/src/scan.c index d74d7e3e..c33db907 100644 --- a/src/scan.c +++ b/src/scan.c @@ -510,6 +510,9 @@ static struct scan_bss *scan_parse_attr_bss(struct l_genl_attr *attr) data, len)) goto fail; + bss->wsc = ie_tlv_extract_wsc_payload(data, len, + &bss->wsc_size); + break; } } @@ -667,6 +670,7 @@ void scan_bss_free(struct scan_bss *bss) l_uintset_free(bss->supported_rates); l_free(bss->rsne); l_free(bss->wpa); + l_free(bss->wsc); l_free(bss); } diff --git a/src/scan.h b/src/scan.h index 3dbaa3a3..2a041b5d 100644 --- a/src/scan.h +++ b/src/scan.h @@ -56,6 +56,8 @@ struct scan_bss { uint16_t capability; uint8_t *rsne; uint8_t *wpa; + uint8_t *wsc; /* Concatenated WSC IEs */ + ssize_t wsc_size; /* Size of Concatenated WSC IEs */ uint8_t ssid[32]; uint8_t ssid_len; struct l_uintset *supported_rates;