You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

116 lines
2.6 KiB

#!/bin/bash
#
# Init file for SpamAssassin sendmail milter.
#
# chkconfig: - 79 21
# description: spamass-milter is a daemon that hooks into sendmail and \
# routes email messages to spamassassin
#
# processname: spamass-milter
# config: /etc/sysconfig/spamass-milter
# pidfile: /var/run/spamass-milter.pid
### BEGIN INIT INFO
# Provides: spamass-milter
# Required-Start: $local_fs $network $syslog $named
# Required-Stop: $local_fs $network $syslog $named
# Default-Stop: 0 1 6
# Should-Start: spamd spamassassin
# Should-Stop: spamd spamassassin
# Short-Description: Start or stop SpamAssassin Milter
# Description: Spamass-milter is an add-on to sendmail that can route mail \
# messages through SpamAssassin and mark or reject mail deemed \
# to be spam
### END INIT INFO
# Default variables
PATH=/sbin:/bin:/usr/sbin:/usr/bin
RUN_AS_USER=sa-milt
SOCKET="/var/run/spamass-milter/spamass-milter.sock"
SOCKET_OPTIONS=""
EXTRA_FLAGS=""
SYSCONFIG="/etc/sysconfig/spamass-milter"
# If Postfix support package is installed, use a postfix-group-writable
# socket for communication with the MTA
if [ -d /var/run/spamass-milter/postfix ]; then
SOCKET="/var/run/spamass-milter/postfix/sock"
SOCKET_OPTIONS="-g postfix"
fi
# Read configuration
source /etc/rc.d/init.d/functions
for configfile in /etc/sysconfig/network "${SYSCONFIG}"; do
[ -r "${configfile}" ] && source "${configfile}"
done
[ -x /usr/sbin/spamass-milter ] || exit 5
RETVAL=0
prog="spamass-milter"
desc="SpamAssassin milter"
pidfile=/var/run/spamass-milter.pid
# Fix ownership of socket directory if necessary
chown ${RUN_AS_USER} /var/run/spamass-milter
start() {
echo -n $"Starting ${desc} (${prog}): "
touch ${pidfile}
chown ${RUN_AS_USER} ${pidfile}
[ -x /sbin/restorecon ] && /sbin/restorecon ${pidfile}
daemon --user ${RUN_AS_USER} /usr/sbin/${prog} ${SOCKET_OPTIONS} -p ${SOCKET} -P ${pidfile} -f ${EXTRA_FLAGS}
RETVAL=$?
echo
if [ ${RETVAL} -eq 0 ]; then
touch /var/lock/subsys/spamass-milter
return 0
else
return 1
fi
}
stop() {
echo -n $"Shutting down ${desc} (${prog}): "
rm -f /var/lock/subsys/spamass-milter
killproc ${prog}
RETVAL=$?
echo
if [ ${RETVAL} -eq 0 ]; then
rm -f ${pidfile}
return 0
else
return 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
if [ "x`pidof spamass-milter`" != x ]; then
stop
sleep 2
fi
start
;;
condrestart|try-restart)
if [ -e /var/lock/subsys/spamass-milter ]; then
stop
sleep 2
start
else
exit 0
fi
;;
status)
status ${prog}
;;
*)
echo $"Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
exit 2
esac