Show SAE flags in scan results
Indicate AP support for SAE H2E and SAE-PK in scan results. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
e7aeb6d8ac
commit
9bf576870e
1 changed files with 32 additions and 2 deletions
|
@ -2940,7 +2940,7 @@ static int wpa_supplicant_ctrl_iface_scan_result(
|
||||||
{
|
{
|
||||||
char *pos, *end;
|
char *pos, *end;
|
||||||
int ret;
|
int ret;
|
||||||
const u8 *ie, *ie2, *osen_ie, *p2p, *mesh, *owe;
|
const u8 *ie, *ie2, *osen_ie, *p2p, *mesh, *owe, *rsnxe;
|
||||||
|
|
||||||
mesh = wpa_bss_get_ie(bss, WLAN_EID_MESH_ID);
|
mesh = wpa_bss_get_ie(bss, WLAN_EID_MESH_ID);
|
||||||
p2p = wpa_bss_get_vendor_ie(bss, P2P_IE_VENDOR_TYPE);
|
p2p = wpa_bss_get_vendor_ie(bss, P2P_IE_VENDOR_TYPE);
|
||||||
|
@ -2967,6 +2967,21 @@ static int wpa_supplicant_ctrl_iface_scan_result(
|
||||||
pos = wpa_supplicant_ie_txt(pos, end, mesh ? "RSN" : "WPA2",
|
pos = wpa_supplicant_ie_txt(pos, end, mesh ? "RSN" : "WPA2",
|
||||||
ie2, 2 + ie2[1]);
|
ie2, 2 + ie2[1]);
|
||||||
}
|
}
|
||||||
|
rsnxe = wpa_bss_get_ie(bss, WLAN_EID_RSNX);
|
||||||
|
if (rsnxe && rsnxe[1] >= 1) {
|
||||||
|
if (rsnxe[2] & BIT(WLAN_RSNX_CAPAB_SAE_H2E)) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "[SAE-H2E]");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return -1;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
if (rsnxe[2] & BIT(WLAN_RSNX_CAPAB_SAE_PK)) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "[SAE-PK]");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return -1;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
osen_ie = wpa_bss_get_vendor_ie(bss, OSEN_IE_VENDOR_TYPE);
|
osen_ie = wpa_bss_get_vendor_ie(bss, OSEN_IE_VENDOR_TYPE);
|
||||||
if (osen_ie)
|
if (osen_ie)
|
||||||
pos = wpa_supplicant_ie_txt(pos, end, "OSEN",
|
pos = wpa_supplicant_ie_txt(pos, end, "OSEN",
|
||||||
|
@ -4831,7 +4846,7 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
|
||||||
size_t i;
|
size_t i;
|
||||||
int ret;
|
int ret;
|
||||||
char *pos, *end;
|
char *pos, *end;
|
||||||
const u8 *ie, *ie2, *osen_ie, *mesh, *owe;
|
const u8 *ie, *ie2, *osen_ie, *mesh, *owe, *rsnxe;
|
||||||
|
|
||||||
pos = buf;
|
pos = buf;
|
||||||
end = buf + buflen;
|
end = buf + buflen;
|
||||||
|
@ -4951,6 +4966,21 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
|
||||||
pos = wpa_supplicant_ie_txt(pos, end,
|
pos = wpa_supplicant_ie_txt(pos, end,
|
||||||
mesh ? "RSN" : "WPA2", ie2,
|
mesh ? "RSN" : "WPA2", ie2,
|
||||||
2 + ie2[1]);
|
2 + ie2[1]);
|
||||||
|
rsnxe = wpa_bss_get_ie(bss, WLAN_EID_RSNX);
|
||||||
|
if (rsnxe && rsnxe[1] >= 1) {
|
||||||
|
if (rsnxe[2] & BIT(WLAN_RSNX_CAPAB_SAE_H2E)) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "[SAE-H2E]");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return -1;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
if (rsnxe[2] & BIT(WLAN_RSNX_CAPAB_SAE_PK)) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "[SAE-PK]");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return -1;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
osen_ie = wpa_bss_get_vendor_ie(bss, OSEN_IE_VENDOR_TYPE);
|
osen_ie = wpa_bss_get_vendor_ie(bss, OSEN_IE_VENDOR_TYPE);
|
||||||
if (osen_ie)
|
if (osen_ie)
|
||||||
pos = wpa_supplicant_ie_txt(pos, end, "OSEN",
|
pos = wpa_supplicant_ie_txt(pos, end, "OSEN",
|
||||||
|
|
Loading…
Reference in a new issue