File rc.amavis of Package amavisd-new

#! /bin/sh
# Copyright (c) 2003 SuSE Linux AG Nuernberg, Germany.
#
# Author: Carsten Hoeger <feedback@suse.de>, 2003
#
#
### BEGIN INIT INFO
# Provides:       amavis
# Required-Start: $remote_fs
# Should-Start: $named clamd
# Should-Stop:	  $named clamd
# Required-Stop:  $remote_fs
# Default-Start:  3 5
# Default-Stop:
# Description:    Start amavisd-new
### END INIT INFO

AMAVISD_BIN=/usr/sbin/amavisd
AMAVIS_MILTER_BIN=/usr/sbin/amavis-milter
test -x $AMAVISD_BIN || exit 5  
test -x $AMAVIS_MILTER_BIN || exit 5

test -s /etc/sysconfig/amavis && \
      . /etc/sysconfig/amavis

# First reset status of this service
. /etc/rc.status
 
rc_reset        

case "$1" in
    start)
        echo -n "Starting virus-scanner (amavisd-new):"
        $AMAVISD_BIN start
	if ! checkproc amavisd; then
	   rc_failed 7
	fi
	rc_status -v
 	if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
	    rc_reset
	    echo -n "Starting amavis-milter:"
	    startproc -u vscan $AMAVIS_MILTER_BIN -p local:/var/run/amavis/amavis-milter.sock > /dev/null 2>&1
	    rc_status -v
	fi
	;;
    stop)
	echo -n "Shutting down virus-scanner (amavisd-new):"
	if checkproc amavisd; then
	   rc_reset
	   $AMAVISD_BIN stop
	else
	   rc_reset
	fi
	rc_status -v
 	if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
	    rc_reset
	    echo -n "Shutting down amavis-milter:"
	    killproc -TERM $AMAVIS_MILTER_BIN
	    rc_status -v
	fi
	;;
    try-restart)
        $0 status >/dev/null &&  $0 restart
        rc_status
        ;;                                             	
    restart)
	$0 stop
        $0 start  
        rc_status
	;;
    force-reload)
	echo -n "Reload virus-scanner (amavisd-new)"
	$AMAVISD_BIN reload 2>/dev/null
        rc_status -v
        ;;                                                  	
    reload)
	echo -n "Reload virus-scanner (amavisd-new)"
	$AMAVISD_BIN reload 2>/dev/null
        rc_status -v
        ;;                            	
    status)
	echo -n "Checking for service amavis (amavisd-new):"
        checkproc -p /var/spool/amavis/amavisd.pid amavisd
	rc_status -v
	if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
	    rc_reset
	    echo -n "Checking for service amavis-milter:"
	    checkproc $AMAVIS_MILTER_BIN
	    rc_status -v
	fi
	;;
    *)
	echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
	exit 1
esac

# Inform the caller not only verbosely and set an exit status.
rc_exit
openSUSE Build Service is sponsored by