#!/bin/sh
#
# smtpfwdd      This shell script takes care of starting and stopping
#               smtpfwdd (smtpd is run from inetd)
#
# chkconfig: 2345 81 81
# description: SMTP Forward Agent for smtpd
# processname: smtpfwdd

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

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

SMTPFWDD_SPOOLDIR=
SMTPFWDD_USER=
SMTPFWDD_GROUP=
SMTPFWDD_SENDMAIL=

# Source smtpfwdd configuration.
if [ -f /etc/sysconfig/smtpfwdd ] ; then
        . /etc/sysconfig/smtpfwdd
else
        SMTPFWDD_SPOOLDIR=/var/spool/smtpd/spool
fi

SMTPFWDD_SPOOLDIR=${SMTPFWDD_SPOOLDIR:+"-d ${SMTPFWDD_SPOOLDIR}"}
SMTPFWDD_USER=${SMTPFWDD_USER:+"-u ${SMTPFWDD_USER}"}
SMTPFWDD_GROUP=${SMTPFWDD_GROUP:+"-g ${SMTPFWDD_GROUP}"}
SMTPFWDD_SENDMAIL=${SMTPFWDD_SENDMAIL:+"-s ${SMTPFWDD_SENDMAIL}"}

SMTPFWDDOPTIONS="${SMTPFWDD_SPOOLDIR} ${SMTPFWDD_USER} ${SMTPFWDD_GROUP} ${SMTPFWDD_SENDMAIL}"

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -f /etc/smtpd_check_rules ] || exit 0

RETVAL=0

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        echo -n "Starting smtpfwdd: "
        daemon smtpfwdd ${SMTPFWDDOPTIONS}
	RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smtpfwdd
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down smtpfwdd: "
	killproc smtpfwdd
	RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/smtpfwdd
        ;;
  status)
	status smtpfwdd
	RETVAL=$?
	;;
  restart|reload)
	$0 stop
	$0 start
	RETVAL=$?
	;;
  *)
        echo "Usage: smtpfwdd {start|stop|restart|reload|status}"
        exit 1
esac

exit $RETVAL
