Merge pull request #4074 from commodo/python-cryptografix-fix
[feed/packages.git] / net / adblock / files / adblock.init
1 #!/bin/sh /etc/rc.common
2 #
3
4 START=90
5 USE_PROCD=1
6
7 EXTRA_COMMANDS="suspend resume query"
8 EXTRA_HELP=" suspend Suspend adblock processing
9 resume Resume adblock processing
10 query <DOMAIN> Query active blocklists for specific domain"
11
12 adb_script="/usr/bin/adblock.sh"
13
14 boot()
15 {
16 local wanif4 wanif6 cnt=0 max_cnt=30
17
18 . "/lib/functions/network.sh"
19 while [ ${cnt} -le ${max_cnt} ]
20 do
21 network_find_wan wanif4
22 network_find_wan6 wanif6
23 if [ -n "${wanif4}" ] || [ -n "${wanif6}" ] || [ ${cnt} -eq ${max_cnt} ]
24 then
25 rc_procd start_service
26 return 0
27 else
28 sleep 1
29 cnt=$((cnt+1))
30 network_flush_cache
31 fi
32 done
33 }
34
35 start_service()
36 {
37 if [ $(/etc/init.d/adblock enabled; printf ${?}) -eq 0 ]
38 then
39 procd_open_instance "adblock"
40 procd_set_param command "${adb_script}" "${@}"
41 procd_set_param stdout 1
42 procd_set_param stderr 1
43 procd_close_instance
44 fi
45 }
46
47 reload_service()
48 {
49 rc_procd start_service reload
50 }
51
52 stop_service()
53 {
54 rc_procd "${adb_script}" stop
55 }
56
57 restart()
58 {
59 rc_procd start_service restart
60 }
61
62 suspend()
63 {
64 rc_procd start_service suspend
65 }
66
67 resume()
68 {
69 rc_procd start_service resume
70 }
71
72 query()
73 {
74 rc_procd "${adb_script}" query "${1}"
75 }
76
77 service_triggers()
78 {
79 local iface="$(uci -q get adblock.global.adb_iface)"
80
81 if [ -z "${iface}" ]
82 then
83 procd_add_raw_trigger "interface.*.up" 1000 /etc/init.d/adblock start
84 else
85 for name in ${iface}
86 do
87 procd_add_interface_trigger "interface.*.up" "${name}" /etc/init.d/adblock start
88 done
89 fi
90 procd_add_config_trigger "config.change" "adblock" /etc/init.d/adblock start
91 }