mirror of
https://github.com/openwrt/openwrt.git
synced 2025-12-21 17:04:28 +04:00
hostapd: allow ubus ban client address to be a broadcast address
This will allow del_client with ban_time on a broadcast address to also ban all clients temporarily. Signed-off-by: Rany Hany <rany_hany@riseup.net> Link: https://github.com/openwrt/openwrt/pull/18670 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
@@ -1849,6 +1849,7 @@ ubus_event_cb(struct ubus_notify_request *req, int idx, int ret)
|
||||
int hostapd_ubus_handle_event(struct hostapd_data *hapd, struct hostapd_ubus_request *req)
|
||||
{
|
||||
struct ubus_banned_client *ban;
|
||||
const u8 bcast[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||
const char *types[HOSTAPD_UBUS_TYPE_MAX] = {
|
||||
[HOSTAPD_UBUS_PROBE_REQ] = "probe",
|
||||
[HOSTAPD_UBUS_AUTH_REQ] = "auth",
|
||||
@@ -1867,6 +1868,10 @@ int hostapd_ubus_handle_event(struct hostapd_data *hapd, struct hostapd_ubus_req
|
||||
if (ban)
|
||||
return WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA;
|
||||
|
||||
ban = avl_find_element(&hapd->ubus.banned, bcast, ban, avl);
|
||||
if (ban)
|
||||
return WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA;
|
||||
|
||||
if (!hapd->ubus.obj.has_subscribers)
|
||||
return WLAN_STATUS_SUCCESS;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user