diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-12-04 12:06:40 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-12-04 12:06:40 +0000 |
commit | 8516ddb133b3ab28b17bbbba165b641a13624ee4 (patch) | |
tree | e6130c58e3a425679bcec16b41627e1bc00582f8 /package/network/services | |
parent | d3cda519947676e9dcdc29c12071a365c941dafb (diff) | |
download | mtk-20170518-8516ddb133b3ab28b17bbbba165b641a13624ee4.zip mtk-20170518-8516ddb133b3ab28b17bbbba165b641a13624ee4.tar.gz mtk-20170518-8516ddb133b3ab28b17bbbba165b641a13624ee4.tar.bz2 |
mac80211, hostapd: Fix macfilter for multi bssid setups
Previously only the first macfilter configuration would have been used
on all interfaces. However, the configuration was always done per vif
already. Hence, move the macfilter setup into hostapd.sh where and
create one mac list file per vif.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
SVN-Revision: 34470
Diffstat (limited to 'package/network/services')
-rw-r--r-- | package/network/services/hostapd/files/hostapd.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh index d60c26f..ab4288b 100644 --- a/package/network/services/hostapd/files/hostapd.sh +++ b/package/network/services/hostapd/files/hostapd.sh @@ -210,6 +210,27 @@ hostapd_set_bss_options() { ;; esac fi + + config_get macfilter "$vif" macfilter + macfile="/var/run/hostapd-$ifname.maclist" + [ -e "$macfile" ] && rm -f "$macfile" + + case "$macfilter" in + allow) + append "$var" "macaddr_acl=1" "$N" + append "$var" "accept_mac_file=$macfile" "$N" + ;; + deny) + append "$var" "macaddr_acl=0" "$N" + append "$var" "deny_mac_file=$macfile" "$N" + ;; + esac + config_get maclist "$vif" maclist + [ -n "$maclist" ] && { + for mac in $maclist; do + echo "$mac" >> $macfile + done + } } hostapd_set_log_options() { |