#! /bin/sh
#
# /etc/rc.d/named: start/stop/restart/reload the bind name service
#

SSD=/sbin/start-stop-daemon
PROG=/usr/sbin/named
PID=/var/run/named/named.pid
OPTS="-c /etc/named.conf -u named"
RNDC_CONF=/etc/rndc.conf
RNDC_KEY=/etc/rndc.key
NAME=named

case $1 in
start)
	if [ ! -s $RNDC_CONF ]; then
		echo "Creating $RNDC_CONF and $RNDC_KEY .."
		/usr/sbin/rndc-confgen > $RNDC_CONF
		head -5 $RNDC_CONF | grep -v "^#" > $RNDC_KEY
	fi

        $SSD --start --pidfile $PID --exec $PROG -- $OPTS
        ;;
stop)
        $SSD --stop --remove-pidfile --retry 10 --pidfile $PID --name $NAME
        ;;
restart)
        $0 stop
        $0 start
        ;;
reload)
        $SSD --stop --signal HUP --pidfile $PID --name $NAME
        ;;
status)
        $SSD --status --pidfile $PID --name $NAME
        case $? in
        0) echo "$PROG is running" ;;
        1) echo "$PROG is not running but the pid file $PID exists" ;;
        3) echo "$PROG is not running" ;;
        4) echo "Unable to determine the program status" ;;
        esac
        ;;
*)
        echo "usage: $0 [start|stop|restart|reload|status]"
        ;;
esac

# End of file
