From 02a3e5c0d130e6944dcf93998f3866a9c484eb36 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 31 Aug 2013 17:27:20 +0300 Subject: [PATCH] wpa_cli: Allow first DISCONNECTED event to be reported 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 --- wpa_supplicant/wpa_cli.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c index 5e6643fcd..9c158ebf6 100644 --- a/wpa_supplicant/wpa_cli.c +++ b/wpa_supplicant/wpa_cli.c @@ -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");