]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wpa_cli: Send ALL_STA command to the correct interface
authorEliad Peller <eliad@wizery.com>
Thu, 10 Dec 2015 10:56:06 +0000 (12:56 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 17 Dec 2015 22:24:52 +0000 (00:24 +0200)
wpa_ctrl_command_sta(), called by the "ALL_STA" handler, didn't consider
ifname_prefix, resulting in various commands being sent to the global
control interface, rather than the specified interface when IFNAME=
prefix was used.

This in turn caused the unexpected "UNKNOWN COMMAND" result be
considered as valid station, resulting in infinite loop while trying to
get all stations.

Fix it by considering ifname_prefix, similarly to _wpa_ctrl_command().

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
wpa_supplicant/wpa_cli.c

index 275bf392dd366e19695f8fd50e0e38d791a8d553..cef18ba8e2fa74496268dfc177be1529ad0c8dbd 100644 (file)
@@ -1927,6 +1927,12 @@ static int wpa_ctrl_command_sta(struct wpa_ctrl *ctrl, char *cmd,
                printf("Not connected to hostapd - command dropped.\n");
                return -1;
        }
+       if (ifname_prefix) {
+               os_snprintf(buf, sizeof(buf), "IFNAME=%s %s",
+                           ifname_prefix, cmd);
+               buf[sizeof(buf) - 1] = '\0';
+               cmd = buf;
+       }
        len = sizeof(buf) - 1;
        ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len,
                               wpa_cli_msg_cb);