From: Bob Copeland Date: Mon, 1 Sep 2014 04:23:23 +0000 (-0400) Subject: nl80211: Reject deauth/disassoc for mesh interface X-Git-Tag: hostap_2_4~1254 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d391b03e7a74d91f0743d008c7b16670ca968bc;p=thirdparty%2Fhostap.git nl80211: Reject deauth/disassoc for mesh interface sta_info call these to send out the disassoc and deauth frame which are both not relevent to mesh. So don't send them. Signed-off-by: Chun-Yeow Yeoh Signed-off-by: Javier Lopez Signed-off-by: Javier Cardona Signed-off-by: Jason Mobarak Signed-off-by: Bob Copeland --- diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 1f8b33f8b..606023e49 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -10078,6 +10078,9 @@ static int i802_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr, struct wpa_driver_nl80211_data *drv = bss->drv; struct ieee80211_mgmt mgmt; + if (is_mesh_interface(drv->nlmode)) + return -1; + if (drv->device_ap_sme) return wpa_driver_nl80211_sta_remove(bss, addr, 1, reason); @@ -10102,6 +10105,9 @@ static int i802_sta_disassoc(void *priv, const u8 *own_addr, const u8 *addr, struct wpa_driver_nl80211_data *drv = bss->drv; struct ieee80211_mgmt mgmt; + if (is_mesh_interface(drv->nlmode)) + return -1; + if (drv->device_ap_sme) return wpa_driver_nl80211_sta_remove(bss, addr, 0, reason);