hostapd: correctly handle macfile uci option
Make hostapd.sh correctly handle the macfile uci option. Such option specifies the macfile name to pass into the hostapd configuration file. Moreover, if a maclist option has been specified, copy the macfile before appending new entries. Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> SVN-Revision: 36944
This commit is contained in:
parent
dfea3bae11
commit
541fbfbb9e
1 changed files with 24 additions and 9 deletions
|
@ -215,10 +215,31 @@ hostapd_set_bss_options() {
|
|||
esac
|
||||
fi
|
||||
|
||||
config_get macfilter "$vif" macfilter
|
||||
macfile="/var/run/hostapd-$ifname.maclist"
|
||||
[ -e "$macfile" ] && rm -f "$macfile"
|
||||
config_get macfile "$vif" macfile
|
||||
config_get maclist "$vif" maclist
|
||||
if [ -z "$macfile" ]
|
||||
then
|
||||
# if no macfile has been specified, fallback to the default name
|
||||
macfile="/var/run/hostapd-$ifname.maclist"
|
||||
else
|
||||
if [ -n "$maclist" ]
|
||||
then
|
||||
# to avoid to overwrite the original file, make a copy
|
||||
# before appending the entries specified by the maclist
|
||||
# option
|
||||
cp $macfile $macfile.maclist
|
||||
macfile=$macfile.maclist
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$maclist" ]
|
||||
then
|
||||
for mac in $maclist; do
|
||||
echo "$mac" >> $macfile
|
||||
done
|
||||
fi
|
||||
|
||||
config_get macfilter "$vif" macfilter
|
||||
case "$macfilter" in
|
||||
allow)
|
||||
append "$var" "macaddr_acl=1" "$N"
|
||||
|
@ -229,12 +250,6 @@ hostapd_set_bss_options() {
|
|||
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() {
|
||||
|
|
Loading…
Reference in a new issue