#!/bin/sh
#
# syslog	Starts syslog-ng (syslogd replacement).
#
# chkconfig:	2345 30 70
# description:	Syslog is the facility by which many daemons use to log \
#		messages to various system log files. It is a good idea to \
#		always run syslog.

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

# Set defaults
ENABLE_RECEIVE_FROM_NET=no
HOSTLIST=""
DOMAINLIST=""
MARK_TIMESTAMP=""

# Get service config
if [ -f /etc/sysconfig/syslog-ng ]; then
	. /etc/sysconfig/syslog-ng
fi

configtest() {
	syslog-ng $OPTIONS -s || exit 1
}

start() {
	# Check if the service is already running?
	if [ ! -f /var/lock/subsys/syslog-ng ]; then
		msg_starting "syslog-ng"
		daemon /usr/sbin/syslog-ng $OPTIONS
		RETVAL=$?
		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog-ng
	else
		msg_already_running "syslog-ng"
	fi
}

stop() {
	if [ -f /var/lock/subsys/syslog-ng ]; then
		msg_stopping "syslog-ng"
		killproc syslog-ng
		rm -f /var/lock/subsys/syslog-ng >/dev/null 2>&1
	else
		msg_not_running syslog-ng
	fi
}

condrestart() {
	if [ -f /var/lock/subsys/syslog-ng ]; then
		stop
		start
	else
		msg_not_running syslog-ng
		RETVAL=$1
	fi
}

RETVAL=0
# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart)
	configtest
	stop
	start
	;;
  try-restart)
	configtest
	condrestart 0
	;;
  reload|force-reload)
	if [ -f /var/lock/subsys/syslog-ng ]; then
		msg_reloading "syslog-ng"
		configtest
		RETVAL=$?
		if [ $RETVAL -eq 0 ]; then
			killproc syslog-ng -HUP
			RETVAL=$?
		else
			fail
			echo >&2 "Configuration file syntax test failed."
		fi
	else
		msg_not_running syslog-ng
		exit 7
	fi
	;;
  flush-logs)
	if [ -f /var/lock/subsys/syslog-ng ]; then
		msg_reloading "syslog-ng"
		configtest
		RETVAL=$?
		if [ $RETVAL -eq 0 ]; then
			killproc syslog-ng -HUP
			RETVAL=$?
		else
			fail
			echo >&2 "Configuration file syntax test failed."
		fi
	fi
	;;
  configtest)
	configtest
	exit $?
	;;
  status)
	status syslog-ng
	exit $?
	;;
  *)
	msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status|configtest|flush-logs}"
	exit 3
esac

exit $RETVAL
