[PATCH 5/8] wpa_cli: send ALL_STA command to the correct interface

Ilan Peer ilan.peer at intel.com
Thu Dec 10 02:56:06 PST 2015


From: Eliad Peller <eliad at wizery.com>

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.

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 at intel.com>
---
 wpa_supplicant/wpa_cli.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index 275bf39..cef18ba 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -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);
-- 
1.9.1




More information about the Hostap mailing list