#!/bin/sh
########################################################################
# Begin $rc_base/init.d/dnsmasq
#
# Description : dnsmasq init script
#
# Authors     : Michael Tremer - mitch@ipfire.org
#
# Version     : 01.00
#
# Notes       :
#
########################################################################

. /etc/sysconfig/rc
. ${rc_functions}

# Pull custom configuration file
if [ -e "/etc/sysconfig/dnsmasq" ]; then
	. /etc/sysconfig/dnsmasq
fi

SHOW_SRV=1

case "${1}" in
	start)
		boot_mesg "Starting Domain Name Service Proxy..."
		
		eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
		ARGS=
		[ "$DOMAIN_NAME_GREEN" != "" ] && ARGS="-s $DOMAIN_NAME_GREEN"
		
		echo > /var/ipfire/red/resolv.conf # Clear it
		if [ -e "/var/ipfire/red/dns1" ]; then
		    DNS1=$(cat /var/ipfire/red/dns1 2>/dev/null)
		    if [ ! -z ${DNS1} ]; then
			echo "nameserver ${DNS1}" >> /var/ipfire/red/resolv.conf
		    fi
		fi
		if [ -e "/var/ipfire/red/dns2" ]; then
		    DNS2=$(cat /var/ipfire/red/dns2 2>/dev/null)
		    if [ ! -z ${DNS2} ]; then
			echo "nameserver ${DNS2}" >> /var/ipfire/red/resolv.conf
		    fi
		fi
		[ -e "/var/ipfire/red/active" ] && ARGS="$ARGS -r /var/ipfire/red/resolv.conf"
		
		ARGS="$ARGS --domain=`cat /var/ipfire/main/settings |grep DOMAIN |cut -d = -f 2`"
		ARGS="$ARGS $CUSTOM_ARGS"

		loadproc /usr/sbin/dnsmasq -l /var/state/dhcp/dhcpd.leases $ARGS
		
		if [ "${SHOW_SRV}" -eq 1 ] && [ "${DNS1}" != "" -o "${DNS2}" != "" ]; then
		    boot_mesg "Using DNS server(s): ${DNS1} ${DNS2}"
		    boot_mesg_flush
		fi
		;;

	stop)
		boot_mesg "Stopping Domain Name Service Proxy..."
		killproc /usr/sbin/dnsmasq
		;;

	restart)
		${0} stop
		sleep 1
		${0} start
		;;

	status)
		statusproc /usr/sbin/dnsmasq
		;;

	*)
		echo "Usage: ${0} {start|stop|restart|status}"
		exit 1
		;;
esac

# End $rc_base/init.d/dnsmasq
