]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
mesh: Show [MESH] flag in print_bss_info()
authorSunil Dutt <usdutt@qti.qualcomm.com>
Fri, 16 Dec 2016 12:50:15 +0000 (18:20 +0530)
committerJouni Malinen <j@w1.fi>
Thu, 22 Dec 2016 12:11:02 +0000 (14:11 +0200)
This was previously done for SCAN_RESULTS, but the BSS control interface
command did not show a similar flag. In addition, change "WPA2" to "RSN"
for mesh BSS to be consistent with the SCAN_RESULTS output.

Commit 638d945679649da579c4ed734d4ebae87e2307de ('mesh: Show [MESH] flag
in scan results') did similar changes for SCAN_RESULTS.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
wpa_supplicant/ctrl_iface.c

index fc6fbdbc76d8dc5d60e8faa3f132e3a4b62813d1..be178d7e48e525a0b9333aedf4b78ca0142e736c 100644 (file)
@@ -4185,7 +4185,7 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
        size_t i;
        int ret;
        char *pos, *end;
-       const u8 *ie, *ie2, *osen_ie;
+       const u8 *ie, *ie2, *osen_ie, *mesh;
 
        pos = buf;
        end = buf + buflen;
@@ -4294,13 +4294,16 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
                        return 0;
                pos += ret;
 
+               mesh = wpa_bss_get_ie(bss, WLAN_EID_MESH_ID);
+
                ie = wpa_bss_get_vendor_ie(bss, WPA_IE_VENDOR_TYPE);
                if (ie)
                        pos = wpa_supplicant_ie_txt(pos, end, "WPA", ie,
                                                    2 + ie[1]);
                ie2 = wpa_bss_get_ie(bss, WLAN_EID_RSN);
                if (ie2)
-                       pos = wpa_supplicant_ie_txt(pos, end, "WPA2", ie2,
+                       pos = wpa_supplicant_ie_txt(pos, end,
+                                                   mesh ? "RSN" : "WPA2", ie2,
                                                    2 + ie2[1]);
                osen_ie = wpa_bss_get_vendor_ie(bss, OSEN_IE_VENDOR_TYPE);
                if (osen_ie)
@@ -4314,6 +4317,14 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
                                return 0;
                        pos += ret;
                }
+
+               if (mesh) {
+                       ret = os_snprintf(pos, end - pos, "[MESH]");
+                       if (os_snprintf_error(end - pos, ret))
+                               return 0;
+                       pos += ret;
+               }
+
                if (bss_is_dmg(bss)) {
                        const char *s;
                        ret = os_snprintf(pos, end - pos, "[DMG]");