Ticket #8558: hostapd.diff.txt

File hostapd.diff.txt, 1021 bytes (added by quiet.dragon@…, 7 years ago)

Patch to enable MAC filtering in hostapd.sh

Line 
1--- hostapd.sh.bak
2+++ hostapd.sh
3@@ -14,6 +14,38 @@
4                append "$var" "ap_isolate=$ap_isolate" "$N"
5        fi
6 
7+       local macfile="/var/run/hostapd-${phy}-${device}-mac"
8+       config_get macfilter "$device" macfilter
9+       config_get maclist "$device" maclist
10+       for acl in allow deny ; do
11+               rm -f $macfile.$acl
12+       done
13+       if [ -z "${maclist##/*}" ] ; then
14+               macfile="$maclist"
15+               maclist=
16+       fi
17+       case "$macfilter" in
18+               allow|2)
19+                       append "$var" "macaddr_acl=1" "$N"
20+                       for mac in $maclist; do
21+                               echo "$mac" >> $macfile.allow
22+                       done
23+                       [ -z "$maclist" ] || macfile="$macfile.allow"
24+                       append "$var" "accept_mac_file=$macfile" "$N"
25+               ;;
26+               deny|1)
27+                       append "$var" "macaddr_acl=0" "$N"
28+                       for mac in $maclist; do
29+                               echo "$mac" >> $macfile.deny
30+                       done
31+                       [ -z "$maclist" ] || macfile="$macfile.deny"
32+                       append "$var" "deny_mac_file=$macfile" "$N"
33+               ;;
34+               radius|3)
35+                       append "$var" "macaddr_acl=3" "$N"
36+               ;;
37+       esac
38+
39        # Examples:
40        # psk-mixed/tkip        => WPA1+2 PSK, TKIP
41        # wpa-psk2/tkip+aes     => WPA2 PSK, CCMP+TKIP