From ebc7ab4334eef7e2734f25b9e4e40f54c69ec32b Mon Sep 17 00:00:00 2001 From: Jakob Olsson Date: Tue, 30 Aug 2022 17:06:32 +0200 Subject: [PATCH] map-agent: multiap: update bsta_clear_bssid API --- map-agent/files/lib/wifi/multiap | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/map-agent/files/lib/wifi/multiap b/map-agent/files/lib/wifi/multiap index 33af7f3ed..dbd1b1f8e 100755 --- a/map-agent/files/lib/wifi/multiap +++ b/map-agent/files/lib/wifi/multiap @@ -683,29 +683,43 @@ bsta_enable_all() { bsta_scan_on_enabled } -bsta_clear_all_bssid() { +# arg = one interface to clear +# no arg = clear all interfaces +bsta_clear_bssid() { + local iface=$1 + mapagent_remove_bssid() { + local iface=$2 + + config_get ifname $1 ifname + + [ -n "$iface" -a "$iface" != "$ifname" ] && return + uci -q set mapagent.$1.enabled="1" uci -q del mapagent.$1.bssid } wireless_remove_bssid() { + local iface=$2 + config_get mode $1 mode config_get ifname $1 ifname [ "$mode" != "sta" ] && return + [ -n "$iface" -a "$iface" != "$ifname" ] && return + uci -q del wireless.$1.bssid wpa_cli -i "$ifname" bssid 0 00:00:00:00:00:00 > /dev/null 2>&1 wpa_cli -i "$ifname" save_config > /dev/null 2>&1 } config_load mapagent - config_foreach mapagent_remove_bssid bsta + config_foreach mapagent_remove_bssid bsta $iface uci commit mapagent config_load wireless - config_foreach wireless_remove_bssid wifi-iface + config_foreach wireless_remove_bssid wifi-iface $iface uci commit wireless } @@ -910,7 +924,7 @@ case "$func" in sync_mapcontroller_from_wireless) sync_mapcontroller_from_wireless $@;; ts) ts_sub $@;; bsta_enable_all) bsta_enable_all $@;; - bsta_clear_all_bssid) bsta_clear_all_bssid $@;; + bsta_clear_bssid) bsta_clear_bssid $@;; bsta_blacklist_bssid_set) bsta_blacklist_bssid_set $@;; bsta_blacklist_bssid_clear) bsta_blacklist_bssid_clear $@;; bsta_disable_lower_priority) bsta_disable_lower_priority $@;;