145ee6dc5eb663d30d5af5b2ce4d7adc0a808c32
[feed/packages.git] / net / wifidog-ng / files / wifidog-ng.init
1 #!/bin/sh /etc/rc.common
2
3 USE_PROCD=1
4 START=95
5
6 BIN=/usr/bin/wifidog-ng
7
8 parse_whitelist_mac() {
9 local cfg="$1"
10 local mac
11
12 uci_validate_section wifidog-ng whitelist "${1}" \
13 'mac:macaddr'
14
15 [ $? -ne 0 ] && {
16 echo "validation whitelist_mac failed" >&2
17 exit 1
18 }
19 }
20
21 parse_whitelist_domain() {
22 local cfg="$1"
23 local domain
24
25 uci_validate_section wifidog-ng whitelist "${1}" \
26 'domain:host'
27
28 [ $? -ne 0 ] && {
29 echo "validation whitelist_domain failed" >&2
30 exit 1
31 }
32 }
33
34 start_service() {
35 modprobe wifidog-ng
36
37 config_load wifidog-ng
38 config_foreach parse_whitelist_mac whitelist_mac
39 config_foreach parse_whitelist_domain whitelist_domain
40
41 procd_open_instance
42 procd_set_param command $BIN
43 procd_set_param respawn
44 procd_close_instance
45 }
46
47 stop_service() {
48 rmmod wifidog-ng
49 }