diff options
Diffstat (limited to 'mail-filter/spamass-milter/files/spamass-milter.rc4')
-rw-r--r-- | mail-filter/spamass-milter/files/spamass-milter.rc4 | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/mail-filter/spamass-milter/files/spamass-milter.rc4 b/mail-filter/spamass-milter/files/spamass-milter.rc4 new file mode 100644 index 000000000000..a2c33d849802 --- /dev/null +++ b/mail-filter/spamass-milter/files/spamass-milter.rc4 @@ -0,0 +1,55 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net spamd + use logger + before mta +} + +piddir=${PIDFILE%/*} +socketdir=${SOCKET%/*} + +checkconfig() { + if [ ! -d ${piddir:=/var/run/milter} ]; then + checkpath -q -d -o milter:milter -m 0755 ${piddir} || return 1 + fi + if [ ! -d ${socketdir:=/var/run/milter} ]; then + checkpath -q -d -o ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} \ + -m 0755 ${socketdir} || return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting spamass-milter" + start-stop-daemon --start --quiet --pidfile ${PIDFILE} -u ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} \ + --exec ${DAEMON} -- -P ${PIDFILE} -p ${SOCKET} -f ${OPTIONS} + eend $? "Failed to start ${DAEMON}" + spamass_timeout=0 + while [ $spamass_timeout -le 20 ] + do + if [ ! -S "${SOCKET}" -o ! -r "${SOCKET}" ] + then + sleep 1 + spamass_timeout=$(( $spamass_timeout+1 )) + else + break + fi + done + echo $spamass_timeout + chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${SOCKET} 1>/dev/null 2>&1 + chmod ${SOCKET_MODE:-664} ${SOCKET} 1>/dev/null 2>&1 +} + +stop() { + ebegin "Stopping spamass-milter" + start-stop-daemon --stop --quiet --pidfile ${PIDFILE} && + { + sleep 5 + rm -f ${SOCKET} + } + eend $? "Failed to stop ${DAEMON}" +} |