aboutsummaryrefslogtreecommitdiff
path: root/package/bind/bind.sysvinit
blob: 171d3208aafcf2252bf0b4a2a3cdbdf161c20bde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/sh
#
# System-V init to control the bind DNS Daemon
#

NAME=named
DAEMON=/usr/sbin/$NAME

# this file contains a few tunable parameters
test -r /etc/default/named && . /etc/default/named

test -f $DAEMON || exit 0

set -e

case "$1" in
	start)
		test -z "$CHROOT" || ARGS="$ARGS -t $CHROOT"
		test -z "$SETUID" || ARGS="$ARGS -u $SETUID"
		if [ ! -f $CHROOT/etc/rndc.key ]; then
		    echo "Initializing $NAME control key: rndc-confgen"
		    set +e

                    # if rndc.key is a symlink, the target must exist
		    touch $CHROOT/etc/rndc.key
		    touch etc/rndc.key

		    rndc-confgen -a -r /dev/urandom $ARGS || true
		    set -e
		fi
		test -z "$CONF" || ARGS="$ARGS -c $CONF"
		echo -n "Starting domain name daemon: $NAME"
		trap 'echo failed' 0
		start-stop-daemon -S -x $DAEMON -- $ARGS
		trap - 0
		echo "."
		;;
	stop)
		echo -n "Stopping domain name daemon: $NAME"
		rndc stop || start-stop-daemon -K -x $DAEMON
		echo "."
		;;
	restart)
		$0 stop || true
		sleep 2
		$0 start
		;;
	reload|force-reload)
		rndc reload || $0 restart
		;;
	*)
		echo "Usage: $0 {start|stop|restart|reload|force-reload}"
		exit 1 
esac

exit 0