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
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.
cvsdist 53226c2
if [ -f /etc/sysconfig/sendmail ] ; then
cvsdist 53226c2
	. /etc/sysconfig/sendmail
cvsdist 53226c2
else
cvsdist 53226c2
	DAEMON=no
cvsdist 53226c2
	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.
cvsdist 35607f7
[ "${NETWORKING}" = "no" ] && exit 0
cvsdist 53226c2
cvsdist 53226c2
[ -f /usr/sbin/sendmail ] || exit 0
cvsdist 53226c2
cvsdist 53226c2
RETVAL=0
cvsdist 83f6af4
prog="sendmail"
cvsdist 53226c2
cvsdist 53226c2
start() {
cvsdist 53226c2
	# Start daemons.
cvsdist 53226c2
cvsdist 83f6af4
	echo -n $"Starting $prog: "
cvsdist 04a6582
	if test -x /usr/bin/make -a -f /etc/mail/Makefile ; then
cvsdist da90ff0
	  make all -C /etc/mail -s > /dev/null
cvsdist 04a6582
	else
cvsdist 04a6582
	  for i in virtusertable access domaintable mailertable ; do
cvsdist 53226c2
	    if [ -f /etc/mail/$i ] ; then
cvsdist 53226c2
		makemap hash /etc/mail/$i < /etc/mail/$i
cvsdist 53226c2
	    fi
cvsdist 04a6582
	  done
cvsdist 04a6582
	fi
cvsdist 35607f7
	/usr/bin/newaliases > /dev/null 2>&1
cvsdist 68b31f4
	daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
cvsdist 35607f7
			$([ -n "$QUEUE" ] && echo -q$QUEUE) $SENDMAIL_OPTARG
cvsdist 53226c2
	RETVAL=$?
cvsdist 53226c2
	echo
cvsdist 53226c2
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
cvsdist 333a3fa
cvsdist 333a3fa
	if ! test -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
cvsdist a9c0552
	if [ -x /usr/bin/selinuxenabled ] && /usr/bin/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 \
cvsdist 35607f7
			-q $SMQUEUE $SENDMAIL_OPTARG
cvsdist 333a3fa
	RETVAL=$?
cvsdist 333a3fa
        echo
cvsdist 333a3fa
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sm-client
cvsdist 333a3fa
        fi
cvsdist 333a3fa
cvsdist 53226c2
	return $RETVAL
cvsdist 53226c2
}
cvsdist 53226c2
cvsdist 2ddbe24
reload() {
cvsdist 2ddbe24
	# Stop daemons.
cvsdist 2ddbe24
    	echo -n $"reloading $prog: "
cvsdist 2ddbe24
	/usr/bin/newaliases > /dev/null 2>&1
cvsdist 2ddbe24
	if [ -x /usr/bin/make -a -f /etc/mail/Makefile ]; then
cvsdist da90ff0
	  make all -C /etc/mail -s > /dev/null
cvsdist 2ddbe24
	else
cvsdist 2ddbe24
	  for i in virtusertable access domaintable mailertable ; do
cvsdist 2ddbe24
	    if [ -f /etc/mail/$i ] ; then
cvsdist 2ddbe24
		makemap hash /etc/mail/$i < /etc/mail/$i
cvsdist 2ddbe24
	    fi
cvsdist 2ddbe24
	  done
cvsdist 2ddbe24
	fi
cvsdist 2ddbe24
	daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
cvsdist 2ddbe24
	    $([ -n "$QUEUE" ] && echo -q$QUEUE)
cvsdist 2ddbe24
	RETVAL=$?
cvsdist 2ddbe24
	killproc sendmail -HUP
cvsdist 2ddbe24
	RETVAL=$?
cvsdist 2ddbe24
	echo
cvsdist 2ddbe24
	if [ $RETVAL -eq 0 -a -f /var/run/sm-client.pid ]; then
cvsdist 2ddbe24
		echo -n $"reloading sm-client: "
cvsdist 2ddbe24
		killproc sm-client -HUP
cvsdist 2ddbe24
		RETVAL=$?
cvsdist 2ddbe24
		echo
cvsdist 2ddbe24
	fi
cvsdist 2ddbe24
	return $RETVAL
cvsdist 2ddbe24
}
cvsdist 2ddbe24
cvsdist 53226c2
stop() {
cvsdist 53226c2
	# Stop daemons.
cvsdist 83f6af4
	echo -n $"Shutting down $prog: "
cvsdist 53226c2
	killproc sendmail
cvsdist 53226c2
	RETVAL=$?
cvsdist 53226c2
	echo
cvsdist 53226c2
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
cvsdist 333a3fa
	if test -f /var/run/sm-client.pid ; then
cvsdist 333a3fa
		echo -n $"Shutting down sm-client: "
cvsdist 333a3fa
		killproc sm-client
cvsdist 333a3fa
		RETVAL=$?
cvsdist 333a3fa
		echo
cvsdist 333a3fa
		[ $RETVAL -eq 0 ] && rm -f /var/run/sm-client.pid
cvsdist 333a3fa
		[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sm-client
cvsdist 333a3fa
	fi
cvsdist 53226c2
	return $RETVAL
cvsdist 53226c2
}
cvsdist 53226c2
cvsdist 53226c2
# See how we were called.
cvsdist 53226c2
case "$1" in
cvsdist 53226c2
  start)
cvsdist 53226c2
	start
cvsdist 53226c2
	;;
cvsdist 53226c2
  stop)
cvsdist 53226c2
	stop
cvsdist 53226c2
	;;
cvsdist 2ddbe24
  reload)
cvsdist 2ddbe24
	reload
cvsdist 2ddbe24
	RETVAL=$?
cvsdist 2ddbe24
	;;
cvsdist 2ddbe24
  restart)
cvsdist 53226c2
	stop
cvsdist 53226c2
	start
cvsdist 53226c2
	RETVAL=$?
cvsdist 53226c2
	;;
cvsdist 53226c2
  condrestart)
cvsdist 53226c2
	if [ -f /var/lock/subsys/sendmail ]; then
cvsdist 53226c2
	    stop
cvsdist 53226c2
	    start
cvsdist 53226c2
	    RETVAL=$?
cvsdist 53226c2
	fi
cvsdist 53226c2
	;;
cvsdist 53226c2
  status)
cvsdist 53226c2
	status sendmail
cvsdist 53226c2
	RETVAL=$?
cvsdist 53226c2
	;;
cvsdist 53226c2
  *)
cvsdist 83f6af4
	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
cvsdist 53226c2
	exit 1
cvsdist 53226c2
esac
cvsdist 53226c2
cvsdist 53226c2
exit $RETVAL