#!/bin/sh
#
# spamassassin	This script starts and stops the spamd daemon.
#
# chkconfig:	2345 75 25
# description:	spamd is a daemon process which uses SpamAssassin to check \
#		email messages for SPAM. It is normally called by spamc \
#		from a MDA (or MTA).
# processname:	spamassassin
# pidfile:	/var/run/spamd.pid

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

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

RUNAS=root
PIDFILE=/var/run/spamd.pid
LOCKFILE=/var/lock/subsys/spamd

# Source spamd configuration.
SourceIfNotEmpty /etc/sysconfig/spamd

RETVAL=0

start()
{
	start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$RUNAS" -- \
			spamd -d --pidfile=$PIDFILE $SPAMDOPTIONS
	RETVAL=$?
	return $RETVAL
}

stop()
{
	stop_daemon --name spamd --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$RUNAS" spamd
	RETVAL=$?
	return $RETVAL
}

restart()
{
	stop
	start
}

reload()
{
	msg_reloading spamd
	stop_daemon --name spamd --pidfile "$PIDFILE" --expect-user "$RUNAS" -HUP -- spamd
	RETVAL=$?
	return $RETVAL
}

# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  reload)
	reload
	;;
  restart)
	restart
	;;
  status)
	status --name spamd --pidfile "$PIDFILE" --expect-user "$RUNAS" -- spamd
	RETVAL=$?
	;;
  condstop)
	if [ -e "$LOCKFILE" ]; then
		stop
	fi
	;;
  condrestart)
	if [ -e "$LOCKFILE" ]; then
		restart
	fi
	;;
  condreload)
	if [ -e "$LOCKFILE" ]; then
		reload
	fi
	;;
  *)
	msg_usage "${0##*/} {start|stop|restart|reload|condstop|condrestart|condreload|status}"
	RETVAL=1
esac

exit $RETVAL
