be35e54 Optimized by use ipset 2dcc126 Optimize kernel module code 08231b4 Remove url param of login api bf7b435 Support compile kernel module on ubuntu for test ffca07a Optimize kernel module b03c757 Optimize code Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
46 lines
836 B
Bash
Executable file
46 lines
836 B
Bash
Executable file
#!/bin/sh /etc/rc.common
|
|
|
|
USE_PROCD=1
|
|
START=95
|
|
|
|
BIN=/usr/bin/wifidog-ng
|
|
|
|
parse_whitelist() {
|
|
local cfg="$1"
|
|
local domain mac
|
|
|
|
uci_validate_section wifidog-ng whitelist "${1}" \
|
|
'domain:list(host)' \
|
|
'mac:list(macaddr)'
|
|
|
|
[ $? -ne 0 ] && {
|
|
echo "validation failed" >&2
|
|
exit 1
|
|
}
|
|
|
|
for m in $mac; do
|
|
echo "!$m" > /proc/wifidog-ng/term
|
|
done
|
|
}
|
|
|
|
start_service() {
|
|
modprobe wifidog-ng
|
|
|
|
ipset create wifidog-ng-mac hash:mac
|
|
ipset create wifidog-ng-ip hash:ip timeout 10000
|
|
|
|
config_load wifidog-ng
|
|
config_foreach parse_whitelist whitelist
|
|
|
|
procd_open_instance
|
|
procd_set_param command $BIN
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
}
|
|
|
|
stop_service() {
|
|
rmmod wifidog-ng
|
|
|
|
ipset destroy wifidog-ng-mac
|
|
ipset destroy wifidog-ng-ip
|
|
}
|