openwrt-packages/net/wifidog-ng/files/wifidog-ng.init

50 lines
884 B
Bash

#!/bin/sh /etc/rc.common
USE_PROCD=1
START=95
BIN=/usr/bin/wifidog-ng
parse_whitelist_mac() {
local cfg="$1"
local mac
uci_validate_section wifidog-ng whitelist "${1}" \
'mac:macaddr'
[ $? -ne 0 ] && {
echo "validation whitelist_mac failed" >&2
exit 1
}
}
parse_whitelist_domain() {
local cfg="$1"
local domain
uci_validate_section wifidog-ng whitelist "${1}" \
'domain:host'
[ $? -ne 0 ] && {
echo "validation whitelist_domain failed" >&2
exit 1
}
}
start_service() {
modprobe wifidog-ng
config_load wifidog-ng
config_foreach parse_whitelist_mac whitelist_mac
config_foreach parse_whitelist_domain whitelist_domain
procd_open_instance
procd_set_param command $BIN
procd_set_param respawn
procd_close_instance
}
stop_service() {
rmmod wifidog-ng
}