wpa_supplicant: Add 'SCAN TYPE=ONLY' functionality
Usual manual scan request may cause reassociation due to several reasons.
New command is intended to perform pure scan.
Change-Id: I5f517a9f50f286482290e76ca1088abf6a1aeff9
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index 3408a85..8c186bd 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -5161,10 +5161,14 @@
wpa_supplicant_cancel_scan(wpa_s);
wpa_supplicant_deauthenticate(wpa_s,
WLAN_REASON_DEAUTH_LEAVING);
- } else if (os_strcmp(buf, "SCAN") == 0) {
+ } else if ((os_strcmp(buf, "SCAN") == 0) ||
+ (os_strncmp(buf, "SCAN ", 5) == 0)) {
if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED)
reply_len = -1;
else {
+ if ((os_strlen(buf) > 4) &&
+ (os_strncasecmp(buf + 5, "TYPE=ONLY", 9) == 0))
+ wpa_s->scan_res_handler = scan_only_handler;
if (!wpa_s->sched_scanning && !wpa_s->scanning &&
((wpa_s->wpa_state <= WPA_SCANNING) ||
(wpa_s->wpa_state == WPA_COMPLETED))) {