Browse Source

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 <yeohchunyeow@gmail.com>
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland 10 years ago
parent
commit
0d391b03e7
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/drivers/driver_nl80211.c

+ 6 - 0
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);