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
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
|
|
|