--- ctrl_iface.c.orig 2005-11-07 23:12:50.000000000 -0500 +++ ctrl_iface.c 2006-01-09 11:26:55.000000000 -0500 @@ -930,6 +930,18 @@ } +static int wpa_supplicant_ctrl_iface_ap_scan(struct wpa_supplicant *wpa_s, + char *cmd) +{ + int ap_scan = atoi (cmd); + + if (ap_scan < 0 || ap_scan > 2) + return -1; + wpa_s->conf->ap_scan = ap_scan; + return 0; +} + + static void wpa_supplicant_ctrl_iface_receive(int sock, void *eloop_ctx, void *sock_ctx) { @@ -1064,6 +1076,9 @@ } else if (strncmp(buf, "GET_CAPABILITY ", 15) == 0) { reply_len = wpa_supplicant_ctrl_iface_get_capability( wpa_s, buf + 15, reply, reply_size); + } else if (strncmp(buf, "AP_SCAN ", 8) == 0) { + if (wpa_supplicant_ctrl_iface_ap_scan(wpa_s, buf + 8)) + reply_len = -1; } else { memcpy(reply, "UNKNOWN COMMAND\n", 16); reply_len = 16;