|
|
- #!/bin/sh /etc/rc.common
- ##############################################################################
- #
- # Copyright (C) 2016 Michael Hanselmann, Eric Luehrsen
- #
- ##############################################################################
- #
- # This init script is just the entry point for Unbound UCI.
- #
- ##############################################################################
-
- START=19
- STOP=50
- USE_PROCD=1
- PROG=/usr/sbin/unbound
-
- ##############################################################################
-
- boot() {
- UNBOUND_BOOT=1
- start "$@"
- }
-
- ##############################################################################
-
- start_service() {
- if [ -n "$UNBOUND_BOOT" ] ; then
- # Load procd triggers (rc) and use event IFUP to really start
- return 0
- fi
-
- # complex UCI work
- . /usr/lib/unbound/unbound.sh
- unbound_start
-
- # standard procd clause
- procd_open_instance "unbound"
- procd_set_param command $PROG -d -c $UNBOUND_CONFFILE
- procd_set_param respawn
- procd_close_instance
- }
-
- ##############################################################################
-
- stop_service() {
- # clean up
- . /usr/lib/unbound/unbound.sh
- unbound_stop
-
- # Wait! on restart Unbound may take time writing closure stats to syslog
- pidof $PROG && sleep 1
- }
-
- ##############################################################################
-
- service_triggers() {
- local trigger
- local legacy=$( uci_get unbound.@unbound[0].trigger )
- local triggers=$( uci_get unbound.@unbound[0].trigger_interface )
-
- triggers="$triggers $legacy"
- PROCD_RELOAD_DELAY=2000
- procd_add_reload_trigger "unbound"
-
-
- if [ -n "$triggers" ] ; then
- for trigger in $triggers ; do
- # due to some netifd/procd interactions with IP6, limit interfaces
- procd_add_reload_interface_trigger "$trigger"
- done
- else
- procd_add_raw_trigger "interface.*.up" 2000 /etc/init.d/unbound reload
- fi
- }
-
- ##############################################################################
-
|