#!/bin/sh /etc/rc.common
#
-START=50
+START=30
USE_PROCD=1
EXTRA_COMMANDS="suspend resume query status"
boot()
{
adb_boot=1
- ubus -t 30 wait_for network.interface 2>/dev/null
rc_procd start_service
}
start_service()
{
- if [ $("${adb_init}" enabled; printf ${?}) -eq 0 ]
+ if [ $("${adb_init}" enabled; printf "%u" ${?}) -eq 0 ]
then
if [ -n "${adb_boot}" ]
then
- return 0
+ local trigger="$(uci_get adblock.global.adb_trigger)"
+ if [ "${trigger}" != "timed" ]
+ then
+ return 0
+ fi
fi
procd_open_instance "adblock"
procd_set_param command "${adb_script}" "${@}"
fi
}
+reload_service()
+{
+ rc_procd start_service reload
+}
+
stop_service()
{
rc_procd "${adb_script}" stop
service_triggers()
{
- local iface="$(uci -q get adblock.global.adb_iface)"
- local delay="$(uci -q get adblock.global.adb_triggerdelay)"
+ local trigger="$(uci_get adblock.global.adb_trigger)"
+ local delay="$(uci_get adblock.global.adb_triggerdelay)"
- PROCD_RELOAD_DELAY=$((${delay:=2} * 1000))
- for name in ${iface}
- do
- procd_add_interface_trigger "interface.*.up" "${name}" "${adb_init}" start
- done
- PROCD_RELOAD_DELAY=1000
- procd_add_config_trigger "config.change" "adblock" "${adb_init}" start
+ if [ "${trigger}" != "none" ] && [ "${trigger}" != "timed" ]
+ then
+ PROCD_RELOAD_DELAY=$((${delay:=1} * 1000))
+ procd_add_interface_trigger "interface.*.up" "${trigger}" "${adb_init}" start
+ fi
+ procd_add_reload_trigger "adblock"
}