wpa_cli: Allow first DISCONNECTED event to be reported
authorJouni Malinen <j@w1.fi>
Sat, 31 Aug 2013 14:27:20 +0000 (17:27 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 31 Aug 2013 14:27:20 +0000 (17:27 +0300)
wpa_cli filters out extra DISCONNECTED events from action scripts. This
ended up filtering out the first real DISCONNECT event in case wpa_cli
was started when wpa_supplicant was in connected state. Change wpa_cli
to allow the first disconnection event to be reported to the action
script in such case.

Signed-hostap: Jouni Malinen <j@w1.fi>

wpa_supplicant/wpa_cli.c

index 5e6643f..9c158eb 100644 (file)
@@ -70,7 +70,7 @@ static struct wpa_ctrl *ctrl_conn;
 static struct wpa_ctrl *mon_conn;
 static int wpa_cli_quit = 0;
 static int wpa_cli_attached = 0;
-static int wpa_cli_connected = 0;
+static int wpa_cli_connected = -1;
 static int wpa_cli_last_id = 0;
 #ifndef CONFIG_CTRL_IFACE_DIR
 #define CONFIG_CTRL_IFACE_DIR "/var/run/wpa_supplicant"
@@ -3053,7 +3053,7 @@ static void wpa_cli_action_process(const char *msg)
 
                os_setenv("WPA_CTRL_DIR", ctrl_iface_dir, 1);
 
-               if (!wpa_cli_connected || new_id != wpa_cli_last_id) {
+               if (wpa_cli_connected <= 0 || new_id != wpa_cli_last_id) {
                        wpa_cli_connected = 1;
                        wpa_cli_last_id = new_id;
                        wpa_cli_exec(action_file, ctrl_ifname, "CONNECTED");