[PATCH] ctrl_iface: Send an event when an inactive station is removed

Nicolas Cavallari Nicolas.Cavallari at lri.fr
Fri Oct 28 03:30:48 EDT 2011


Currently there is no events over the control interface when
a station is removed due to inactivity.  With this patch, an
"AP-INACTIVE-STA-DISCONNECTED"  event is sent when a station
is removed.

This doesn't break anything for existing applications which
expect that an "AP-STA-DISCONNECTED" event mean an explicit
disassociation from the client.
---
 doc/ctrl_iface.doxygen |    9 +++++++++
 src/ap/sta_info.c      |    4 ++++
 src/common/wpa_ctrl.h  |    1 +
 3 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/doc/ctrl_iface.doxygen b/doc/ctrl_iface.doxygen
index f820f9e..ae8c1fe 100644
--- a/doc/ctrl_iface.doxygen
+++ b/doc/ctrl_iface.doxygen
@@ -896,6 +896,15 @@ AP_STA_DISCONNECTED: A station disassociated (AP mode event)
 AP-STA-DISCONNECTED 02:2a:c4:18:5b:f3
 \endverbatim
 
+\subsection ctrl_iface_event_AP_INACTIVE_STA_DISCONNECTED AP-INACTIVE-STA-DISCONNECTED
+
+AP_INACTIVE_STA_DISCONNECTED: A station was disassociated due to
+inactivity (AP mode event)
+
+\verbatim
+AP-INACTIVE-STA-DISCONNECTED 02:2a:c4:18:5b:f3
+\endverbatim
+
 \subsection ctrl_iface_event_P2P_EVENT_DEVICE_FOUND P2P-DEVICE-FOUND
 
 P2P_EVENT_DEVICE_FOUND: Indication of a discovered P2P device with
diff --git a/src/ap/sta_info.c b/src/ap/sta_info.c
index d82b9ce..f45d1f3 100644
--- a/src/ap/sta_info.c
+++ b/src/ap/sta_info.c
@@ -17,6 +17,7 @@
 #include "utils/common.h"
 #include "utils/eloop.h"
 #include "common/ieee802_11_defs.h"
+#include "common/wpa_ctrl.h"
 #include "radius/radius.h"
 #include "radius/radius_client.h"
 #include "drivers/driver.h"
@@ -375,6 +376,9 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
 		mlme_deauthenticate_indication(
 			hapd, sta,
 			WLAN_REASON_PREV_AUTH_NOT_VALID);
+
+		wpa_msg(hapd->msg_ctx, MSG_INFO, AP_INACTIVE_STA_DISCONNECTED
+				MACSTR, MAC2STR(sta->addr));
 		ap_free_sta(hapd, sta);
 		break;
 	}
diff --git a/src/common/wpa_ctrl.h b/src/common/wpa_ctrl.h
index fd096e7..249ffed 100644
--- a/src/common/wpa_ctrl.h
+++ b/src/common/wpa_ctrl.h
@@ -138,6 +138,7 @@ extern "C" {
 #define WPS_EVENT_AP_PIN_DISABLED "WPS-AP-PIN-DISABLED "
 #define AP_STA_CONNECTED "AP-STA-CONNECTED "
 #define AP_STA_DISCONNECTED "AP-STA-DISCONNECTED "
+#define AP_INACTIVE_STA_DISCONNECTED "AP-INACTIVE-STA-DISCONNECTED "
 
 
 /* wpa_supplicant/hostapd control interface access */
-- 
1.7.7.1



More information about the HostAP mailing list