. /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 "
- [ -e "/var/ipfire/red/active" ] && ARGS+="-r /var/ipfire/red/resolv.conf"
+ [ "$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)