Now MAC filter deny is supported. (Only accept was supported.)

This commit is contained in:
Omar-AE 2022-10-12 19:35:42 +03:00
parent 9e1d985623
commit 171bdb9e66
1 changed files with 37 additions and 8 deletions

View File

@ -179,8 +179,9 @@ define_global_variables(){
WIFI_IFACE=
CHANNEL=default
WPA_VERSION=2
MAC_FILTER=0
MAC_FILTER=3 # 3 is not valid
MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept
MAC_FILTER_DENY=/etc/hostapd/hostapd.deny
IEEE80211N=0
IEEE80211AC=0
HT_CAPAB='[HT40+]'
@ -356,13 +357,34 @@ parse_user_options(){
shift
HIDDEN=1
;;
--mac-filter)
shift
MAC_FILTER=1
;;
--mac-filter-accept)
shift
MAC_FILTER_ACCEPT="$1"
if [ "$MAC_FILTER_TYPE" == "deny" ]
then
printf "ERROR: Can't use --mac-filter-accept and --mac-filter-deny together.\n"
exit 1
fi
MAC_FILTER_TYPE=accept
MAC_FILTER=1
MAC_FILTER_FILE=$MAC_FILTER_ACCEPT
;;
--mac-filter-deny)
shift
if [ "$MAC_FILTER_TYPE" == "accept" ]
then
printf "ERROR: Can't use --mac-filter-accept and --mac-filter-deny together.\n"
exit 1
fi
MAC_FILTER_TYPE=deny
MAC_FILTER=0
MAC_FILTER_FILE=$MAC_FILTER_DENY
;;
--mac-filter-file)
shift
MAC_FILTER_FILE="$1"
shift
;;
@ -1715,8 +1737,15 @@ write_hostapd_conf() {
if [[ $MAC_FILTER -eq 1 ]]; then
cat <<- EOF >> "$CONFDIR/hostapd.conf"
macaddr_acl=${MAC_FILTER}
accept_mac_file=${MAC_FILTER_ACCEPT}
macaddr_acl=1
accept_mac_file=${MAC_FILTER_FILE}
EOF
fi
if [[ $MAC_FILTER -eq 0 ]]; then
cat <<- EOF >> "$CONFDIR/hostapd.conf"
macaddr_acl=0
deny_mac_file=${MAC_FILTER_FILE}
EOF
fi