Blame SOURCES/sendmail.init

c866bb
#!/bin/bash
c866bb
#
c866bb
# sendmail      This shell script takes care of starting and stopping
c866bb
#               sendmail.
c866bb
#
c866bb
# chkconfig: 2345 80 30
c866bb
# description: Sendmail is a Mail Transport Agent, which is the program \
c866bb
#              that moves mail from one machine to another.
c866bb
# processname: sendmail
c866bb
# config: /etc/mail/sendmail.cf
c866bb
# pidfile: /var/run/sendmail.pid
c866bb
c866bb
### BEGIN INIT INFO
c866bb
# Provides: sendmail smtpdaemon $mail-transfer-agent
c866bb
# Required-Start: $local_fs $network
c866bb
# Required-Stop: $local_fs $network
c866bb
# Default-Start: 2 3 4 5
c866bb
# Default-Stop: 0 1 6
c866bb
# Short-Description: start and stop sendmail
c866bb
# Description: sendmail is a Mail Transport Agent (MTA)
c866bb
### END INIT INFO
c866bb
c866bb
# Source function library.
c866bb
. /etc/rc.d/init.d/functions
c866bb
c866bb
# Source networking configuration.
c866bb
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
c866bb
c866bb
# Source sendmail configureation.
c866bb
if [ -f /etc/sysconfig/sendmail ]; then
c866bb
    . /etc/sysconfig/sendmail
c866bb
else
c866bb
    DAEMON=no
c866bb
    QUEUE=1h
c866bb
fi
c866bb
[ -z "$SMQUEUE" ] && SMQUEUE="$QUEUE"
c866bb
[ -z "$SMQUEUE" ] && SMQUEUE=1h
c866bb
c866bb
# Check that we're a privileged user
c866bb
[ `id -u` = 0 ] || exit 4
c866bb
c866bb
# Check that networking is up.
c866bb
[ "${NETWORKING}" = "no" ] && exit 1
c866bb
c866bb
[ -x /usr/sbin/sendmail ] || exit 5
c866bb
c866bb
prog="sendmail"
c866bb
c866bb
updateconf() {
c866bb
    /etc/mail/make > /dev/null 2>&1
c866bb
    if [ $? -eq 15 ]; then
c866bb
	echo -n $"Package sendmail-cf is required to update configuration."
c866bb
	warning
c866bb
	echo
c866bb
    fi
c866bb
    /etc/mail/make aliases > /dev/null 2>&1
c866bb
}
c866bb
c866bb
start() {
c866bb
    # Start daemons.
c866bb
    ret=0
c866bb
    updateconf
c866bb
    echo -n $"Starting $prog: "
c866bb
    daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
c866bb
	$([ -n "$QUEUE" ] && echo -q$QUEUE) $SENDMAIL_OPTARG
c866bb
    RETVAL=$?
c866bb
    echo
c866bb
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
c866bb
    let ret+=$RETVAL
c866bb
c866bb
    if [ ! -f /var/run/sm-client.pid ]; then
c866bb
	echo -n $"Starting sm-client: "
c866bb
	touch /var/run/sm-client.pid
c866bb
	chown smmsp:smmsp /var/run/sm-client.pid
c866bb
	if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
c866bb
	    /sbin/restorecon /var/run/sm-client.pid
c866bb
	fi
c866bb
	daemon --check sm-client /usr/sbin/sendmail -L sm-msp-queue -Ac \
c866bb
	    -q$SMQUEUE $SENDMAIL_OPTARG
c866bb
	RETVAL=$?
c866bb
	echo
c866bb
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sm-client
c866bb
	let ret+=$RETVAL
c866bb
    fi
c866bb
c866bb
    [ $ret -eq 0 ] && return 0 || return 1
c866bb
}
c866bb
c866bb
stop() {
c866bb
    # Stop daemons.
c866bb
    if [ -f /var/run/sm-client.pid ]; then
c866bb
	echo -n $"Shutting down sm-client: "
c866bb
	killproc sm-client
c866bb
	RETVAL=$?
c866bb
	echo
c866bb
	[ $RETVAL -eq 0 ] && rm -f /var/run/sm-client.pid
c866bb
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sm-client
c866bb
    fi
c866bb
    echo -n $"Shutting down $prog: "
c866bb
    killproc sendmail
c866bb
    RETVAL=$?
c866bb
    echo
c866bb
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
c866bb
    return $RETVAL
c866bb
}
c866bb
c866bb
status -p /var/run/sendmail.pid >/dev/null || status -p /var/run/sm-client.pid >/dev/null
c866bb
running=$?
c866bb
c866bb
# See how we were called.
c866bb
case "$1" in
c866bb
    start)
c866bb
	[ $running -eq 0 ] && exit 0
c866bb
	start
c866bb
	RETVAL=$?
c866bb
	;;
c866bb
    stop)
c866bb
	[ $running -eq 0 ] || exit 0
c866bb
	stop
c866bb
	RETVAL=$?
c866bb
	;;
c866bb
    restart|force-reload)
c866bb
	stop
c866bb
	start
c866bb
	RETVAL=$?
c866bb
	;;
c866bb
    condrestart|try-restart)
c866bb
	[ $running -eq 0 ] || exit 0
c866bb
	stop
c866bb
	start
c866bb
	RETVAL=$?
c866bb
	;;
c866bb
    status)
c866bb
	echo -n sendmail; status -p /var/run/sendmail.pid -l sendmail
c866bb
	RETVAL=$?
c866bb
	echo -n sm-client; status -p /var/run/sm-client.pid -l sm-client
c866bb
	[ $RETVAL -eq 0 ] && RETVAL=$?
c866bb
	;;
c866bb
    *)
c866bb
	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
c866bb
	RETVAL=2
c866bb
esac
c866bb
c866bb
exit $RETVAL