#!/bin/sh
#
# mdnsd:       Starts the mDNSResponder Daemon
#
# chkconfig: 345 34 66
# description: This is a daemon which runs on mDNSResponder clients to perform \
#              Zeroconf service discovery on a network.
# processname: mdnsd
# config: 

WITHOUT_RC_COMPAT=1

# Source function library.
. /etc/init.d/functions

RETVAL=0
DAEMON=/usr/sbin/mdnsd
PIDFILE=/var/run/mdnsd.pid
LOCKFILE=/var/lock/subsys/mdnsd
ARGS=""

start() {
    msg_starting $"Apple's Multicast DNS / DNS Service Discovery daemon"
    start_daemon \
	--pidfile "$PIDFILE" \
	--lockfile "$LOCKFILE" \
	--no-announce \
	--expect-user root \
	-- $DAEMON $ARGS
    RETVAL=$?
    return $RETVAL
}

stop() {
    msg_stopping $"Apple's Multicast DNS / DNS Service Discovery daemon"
        stop_daemon \
	--pidfile "$PIDFILE" \
        --lockfile "$LOCKFILE" \
	--no-announce \
        --expect-user _mdnsd \
        -- $DAEMON
    RETVAL=$?
    return $RETVAL
}

restart() {
    stop
    sleep 1
    start
}

case "$1" in
    start)
	start
	;;
    stop)
	stop
	;;
    restart)
	restart
	;;
    reload)
	restart
	;;
    status)
	status --expect-user _mdnsd -- $DAEMON
	RETVAL=$?
	;;
    condstart)
	if ! [ -f "$LOCKFILE" ]; then
	    start
	fi
	;;
    condstop)
	if [ -f "$LOCKFILE" ]; then
	    stop
	fi
	;;
    condrestart)
	if [ -f "$LOCKFILE" ]; then
	    restart
	fi
	;;
    *)
	msg_usage "${0##*/} {start|stop|status|restart|reload|condstart|condstop|condrestart}"
	RETVAL=1
	;;
esac
exit $RETVAL
