Make Beacon IEs available in wpa_supplicant BSS command
This makes both the Probe Response and Beacon frame IEs available to upper layers if scan results include both IE sets. When the BSS command mask includes WPA_BSS_MASK_BEACON_IE, a new beacon_ie=<hexdump> entry will be included in output if the BSS entry has two separate sets of IEs (ie=<hexdump> showing the Probe Response frame contents and beacon_ie=<hexdump> the Beacon rame contents). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
a00a3458ed
commit
19810d29bc
2 changed files with 22 additions and 0 deletions
|
@ -319,6 +319,7 @@ extern "C" {
|
|||
#define WPA_BSS_MASK_EST_THROUGHPUT BIT(20)
|
||||
#define WPA_BSS_MASK_FST BIT(21)
|
||||
#define WPA_BSS_MASK_UPDATE_IDX BIT(22)
|
||||
#define WPA_BSS_MASK_BEACON_IE BIT(23)
|
||||
|
||||
|
||||
/* VENDOR_ELEM_* frame id values */
|
||||
|
|
|
@ -4450,6 +4450,27 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
|
|||
pos += ret;
|
||||
}
|
||||
|
||||
if ((mask & WPA_BSS_MASK_BEACON_IE) && bss->beacon_ie_len) {
|
||||
ret = os_snprintf(pos, end - pos, "beacon_ie=");
|
||||
if (os_snprintf_error(end - pos, ret))
|
||||
return 0;
|
||||
pos += ret;
|
||||
|
||||
ie = (const u8 *) (bss + 1);
|
||||
ie += bss->ie_len;
|
||||
for (i = 0; i < bss->beacon_ie_len; i++) {
|
||||
ret = os_snprintf(pos, end - pos, "%02x", *ie++);
|
||||
if (os_snprintf_error(end - pos, ret))
|
||||
return 0;
|
||||
pos += ret;
|
||||
}
|
||||
|
||||
ret = os_snprintf(pos, end - pos, "\n");
|
||||
if (os_snprintf_error(end - pos, ret))
|
||||
return 0;
|
||||
pos += ret;
|
||||
}
|
||||
|
||||
if (mask & WPA_BSS_MASK_DELIM) {
|
||||
ret = os_snprintf(pos, end - pos, "====\n");
|
||||
if (os_snprintf_error(end - pos, ret))
|
||||
|
|
Loading…
Reference in a new issue