aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2010-11-10 15:09:31 (GMT)
committerJouni Malinen <j@w1.fi>2010-11-10 15:09:31 (GMT)
commit5bf49c346c661bf9dc6c13d69f998cac6306ef0a (patch)
treee8e402275b1a1bd644b51b274c31445f5120f441 /hostapd
parent4d4c29158d5e5170041bf85f8a7a76fe8113966c (diff)
downloadhostap-5bf49c346c661bf9dc6c13d69f998cac6306ef0a.zip
hostap-5bf49c346c661bf9dc6c13d69f998cac6306ef0a.tar.gz
hostap-5bf49c346c661bf9dc6c13d69f998cac6306ef0a.tar.bz2
Drop local stations on broadcast deauth/disassoc request
When hostapd_cli deauth/disassoc is used with ff:ff:ff:ff:ff:ff address, drop all local STA entries in addition to sending out the broadcast deauth/disassoc frame.
Diffstat (limited to 'hostapd')
-rw-r--r--hostapd/ctrl_iface.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
index 84a1b7e..152134c 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -260,6 +260,8 @@ static int hostapd_ctrl_iface_deauthenticate(struct hostapd_data *hapd,
if (sta)
ap_sta_deauthenticate(hapd, sta,
WLAN_REASON_PREV_AUTH_NOT_VALID);
+ else if (addr[0] == 0xff)
+ hostapd_free_stas(hapd);
return 0;
}
@@ -314,6 +316,8 @@ static int hostapd_ctrl_iface_disassociate(struct hostapd_data *hapd,
if (sta)
ap_sta_disassociate(hapd, sta,
WLAN_REASON_PREV_AUTH_NOT_VALID);
+ else if (addr[0] == 0xff)
+ hostapd_free_stas(hapd);
return 0;
}