#!/bin/sh
### BEGIN INIT INFO
# Provides:       dnsmasq $named
# Required-Start: $network $remote_fs $syslog
# Required-Stop:  $network $remote_fs $syslog
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Description:    DHCP and DNS server
### END INIT INFO

set +e   # Don't exit on error status

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/dnsmasq
NAME=dnsmasq
DESC="DNS forwarder and DHCP server"
OPTS="-k -i lo -a 127.0.0.1 -z"
DSMETOOL=/usr/sbin/dsmetool
unset USE_UPSTART
INITCTL=/sbin/initctl

# Most configuration options in /etc/default/dnsmasq are deprecated
# but still honoured.

if [ -r /etc/default/$NAME ]; then
	. /etc/default/$NAME
fi

test -x $DAEMON || exit 0
test -x /sbin/initctl && USE_UPSTART=1

case "$1" in
  start)
	if [ ! -e /tmp/first-boot-flag-tmp ]; then
	    echo -n "Starting $DESC: "
	    ifconfig lo up # see that the loopback interface is up
	    if [ -z "$USE_UPSTART" ]; then
		if [ -x $DSMETOOL ]; then
		    $DSMETOOL -n -1 -t "$DAEMON $OPTS"
		else
		    start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
		fi
	    else
		$INITCTL start $NAME
	    fi
	    echo "$NAME."
	fi
	;;
  stop)
	echo -n "Stopping $DESC: "
	if [ -z "$USE_UPSTART" ]; then
	    if [ -x $DSMETOOL ]; then
		$DSMETOOL -k "$DAEMON $OPTS"
	    else
		start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --name $NAME	
	    fi
	else
	    $INITCTL stop $NAME
	fi
	echo "$NAME."
	;;
  restart|force-reload)
	"$0" stop
	"$0" start
	;;
  *)
	echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

exit 0

