#!/bin/sh
#
# netsaint-nsca	This shell script takes care of starting and stopping
#               nsca.
#
# chkconfig:	345 80 30
#
# description:	nsca is a daemon which listens for reports from remote machines
# processname:	nsca
# config:	/etc/netsaint/nsca.cfg

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

# Source networking configuration.
. /etc/sysconfig/network

# Get service config
[ -f /etc/sysconfig/netsaint-nsca ] && . /etc/sysconfig/netsaint-nsca

# Check that networking is up.
if is_yes "${NETWORKING}"; then
        if [ ! -f /var/lock/subsys/network ]; then
                # nls "ERROR: Networking is down. %s can't be run." <service>
                msg_network_down "netsaint NSCA daemon"
                exit 1
        fi
else
        exit 0
fi

# See how we were called.
case "$1" in
  start)
        # Check if the service is already running?
        if [ ! -f /var/lock/subsys/netsaint-nsca ]; then
                msg_starting NSCA daemon
		su - netsaint -s /bin/sh -c '/usr/bin/setsid /usr/lib/netsaint/nsca -d /etc/netsaint/nsca.cfg </dev/null >/dev/null 2>&1'
		RETVAL=$?
		if [ "$RETVAL" = "0" ]; then
			ok
		else
			fail
			exit $RETVAL
		fi
		touch /var/lock/subsys/netsaint-nsca
        else
                msg_already_running NSCA daemon
        fi
	;;
  stop)
  	if [ -f /var/lock/subsys/netsaint-nsca ]; then
		msg_stopping NSCA daemon
		killproc nsca
		if [ "$?" = "0" ]; then
			ok
			rm -f /var/lock/subsys/netsaint-nsca
		else
			fail
		fi
	else
		msg_not_running NSCA daemon
		exit 1
	fi
	;;
  restart)
	$0 stop
	$0 start
	;;
  status)
	status nsca
	;;
  *)
	msg_usage "$0 {start|stop|restart|status}"
	exit 1
esac

exit 0
