lkundrak / rpms / sendmail

Forked from rpms/sendmail 4 years ago
Clone
cvsdist 83f6af4
#!/bin/bash
cvsdist 53226c2
#
cvsdist 53226c2
# sendmail      This shell script takes care of starting and stopping
cvsdist 53226c2
#               sendmail.
cvsdist 53226c2
#
cvsdist 53226c2
# chkconfig: 2345 80 30
cvsdist 53226c2
# description: Sendmail is a Mail Transport Agent, which is the program \
cvsdist 53226c2
#              that moves mail from one machine to another.
cvsdist 53226c2
# processname: sendmail
cvsdist 333a3fa
# config: /etc/mail/sendmail.cf
cvsdist 53226c2
# pidfile: /var/run/sendmail.pid
cvsdist 53226c2
0bd1aa3
### BEGIN INIT INFO
0bd1aa3
# Provides: sendmail MTA smtpdaemon
0bd1aa3
# Required-Start: $local_fs $network
0bd1aa3
# Required-Stop: $local_fs $network
0bd1aa3
# Default-Start: 2 3 4 5
0bd1aa3
# Default-Stop: 0 1 6
0bd1aa3
# Short-Description: start and stop sendmail
0bd1aa3
# Description: sendmail is a Mail Transport Agent (MTA)
0bd1aa3
### END INIT INFO
0bd1aa3
cvsdist 53226c2
# Source function library.
cvsdist 849c77a
. /etc/rc.d/init.d/functions
cvsdist 53226c2
cvsdist 53226c2
# Source networking configuration.
cvsdist 35607f7
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
cvsdist 53226c2
cvsdist 53226c2
# Source sendmail configureation.
0bd1aa3
if [ -f /etc/sysconfig/sendmail ]; then
0bd1aa3
    . /etc/sysconfig/sendmail
cvsdist 53226c2
else
0bd1aa3
    DAEMON=no
0bd1aa3
    QUEUE=1h
cvsdist 53226c2
fi
cvsdist 68b31f4
[ -z "$SMQUEUE" ] && SMQUEUE="$QUEUE"
cvsdist 68b31f4
[ -z "$SMQUEUE" ] && SMQUEUE=1h
cvsdist 53226c2
cvsdist 53226c2
# Check that networking is up.
0bd1aa3
[ "${NETWORKING}" = "no" ] && exit 1
cvsdist 53226c2
0bd1aa3
[ -f /usr/sbin/sendmail ] || exit 5
cvsdist 53226c2
cvsdist 83f6af4
prog="sendmail"
cvsdist 53226c2
e861a83
updateconf() {
e861a83
    /etc/mail/make > /dev/null 2>&1
e861a83
    if [ $? -eq 15 ]; then
e861a83
	echo -n $"Package sendmail-cf is required to update configuration."
e861a83
	warning
e861a83
	echo
e861a83
    fi
45fbb33
    /etc/mail/make aliases > /dev/null 2>&1
e861a83
}
e861a83
cvsdist 53226c2
start() {
0bd1aa3
    # Start daemons.
0bd1aa3
    ret=0
e861a83
    updateconf
0bd1aa3
    echo -n $"Starting $prog: "
0bd1aa3
    daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
0bd1aa3
	$([ -n "$QUEUE" ] && echo -q$QUEUE) $SENDMAIL_OPTARG
0bd1aa3
    RETVAL=$?
0bd1aa3
    echo
0bd1aa3
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
0bd1aa3
    let ret+=$RETVAL
cvsdist 333a3fa
0bd1aa3
    if [ ! -f /var/run/sm-client.pid ]; then
cvsdist 333a3fa
	echo -n $"Starting sm-client: "
cvsdist 333a3fa
	touch /var/run/sm-client.pid
cvsdist 333a3fa
	chown smmsp:smmsp /var/run/sm-client.pid
36b7a28
	if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
cvsdist a9c0552
	    /sbin/restorecon /var/run/sm-client.pid
cvsdist a9c0552
	fi
cvsdist 333a3fa
	daemon --check sm-client /usr/sbin/sendmail -L sm-msp-queue -Ac \
0bd1aa3
	    -q$SMQUEUE $SENDMAIL_OPTARG
cvsdist 333a3fa
	RETVAL=$?
0bd1aa3
	echo
0bd1aa3
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sm-client
0bd1aa3
	let ret+=$RETVAL
0bd1aa3
    fi
cvsdist 333a3fa
0bd1aa3
    [ $ret -eq 0 ] && return 0 || return 1
cvsdist 53226c2
}
cvsdist 53226c2
cvsdist 2ddbe24
reload() {
e861a83
    updateconf
0bd1aa3
    echo -n $"Reloading $prog: "
0bd1aa3
    killproc sendmail -HUP
0bd1aa3
    RETVAL=$?
0bd1aa3
    echo
0bd1aa3
    if [ $RETVAL -eq 0 -a -f /var/run/sm-client.pid ]; then
0bd1aa3
        echo -n $"reloading sm-client: "
0bd1aa3
	killproc sm-client -HUP
cvsdist 2ddbe24
	RETVAL=$?
cvsdist 2ddbe24
	echo
0bd1aa3
    fi
0bd1aa3
    return $RETVAL
cvsdist 2ddbe24
}
cvsdist 2ddbe24
cvsdist 53226c2
stop() {
0bd1aa3
    # Stop daemons.
0bd1aa3
    if [ -f /var/run/sm-client.pid ]; then
0bd1aa3
	echo -n $"Shutting down sm-client: "
0bd1aa3
	killproc sm-client
a849b7d
	RETVAL=$?
a849b7d
	echo
0bd1aa3
	[ $RETVAL -eq 0 ] && rm -f /var/run/sm-client.pid
0bd1aa3
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sm-client
0bd1aa3
    fi
0bd1aa3
    echo -n $"Shutting down $prog: "
0bd1aa3
    killproc sendmail
0bd1aa3
    RETVAL=$?
0bd1aa3
    echo
0bd1aa3
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
0bd1aa3
    return $RETVAL
cvsdist 53226c2
}
cvsdist 53226c2
aec43b3
status -p /var/run/sendmail.pid >/dev/null || status -p /var/run/sm-client.pid >/dev/null
0bd1aa3
running=$?
0bd1aa3
cvsdist 53226c2
# See how we were called.
cvsdist 53226c2
case "$1" in
0bd1aa3
    start)
0bd1aa3
	[ $running -eq 0 ] && exit 0
cvsdist 53226c2
	start
0bd1aa3
	RETVAL=$?
cvsdist 53226c2
	;;
0bd1aa3
    stop)
88c0ef8
	[ $running -eq 0 ] || exit 0
cvsdist 53226c2
	stop
0bd1aa3
	RETVAL=$?
cvsdist 53226c2
	;;
0bd1aa3
    reload)
88c0ef8
	[ $running -eq 0 ] || exit 7
cvsdist 2ddbe24
	reload
cvsdist 2ddbe24
	RETVAL=$?
cvsdist 2ddbe24
	;;
0bd1aa3
    restart|force-reload)
cvsdist 53226c2
	stop
cvsdist 53226c2
	start
cvsdist 53226c2
	RETVAL=$?
cvsdist 53226c2
	;;
0bd1aa3
    condrestart|try-restart)
88c0ef8
	[ $running -eq 0 ] || exit 0
0bd1aa3
	stop
0bd1aa3
	start
0bd1aa3
	RETVAL=$?
cvsdist 53226c2
	;;
0bd1aa3
    status)
0bd1aa3
	echo -n sendmail; status -p /var/run/sendmail.pid
cvsdist 53226c2
	RETVAL=$?
0bd1aa3
	echo -n sm-client; status -p /var/run/sm-client.pid
0bd1aa3
	[ $RETVAL -eq 0 ] && RETVAL=$?
cvsdist 53226c2
	;;
0bd1aa3
    *)
cvsdist 83f6af4
	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
88c0ef8
	RETVAL=2
cvsdist 53226c2
esac
cvsdist 53226c2
cvsdist 53226c2
exit $RETVAL