#!/bin/bash
#
# Startup script for smtp
#
# chkconfig: 345 95 5
# description: smtp is a mail protocol.

# Source function library.
if [ -f /etc/init.d/functions ]; then
  . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
  . /etc/rc.d/init.d/functions
fi

PATH=$PATH:/var/qmail/bin
export PATH

svc=/usr/bin/svc
svstat=/usr/bin/svstat
ret=0

prog=smtp
progdirs="/service/smtp /service/smtp2 /service/send"

start() {
    for dir in $progdirs
    do
        if [ -d $dir ]; then
	    $svc -u $dir
	fi
    done
    ret=$?

    if [ $ret -eq 0 ]; then
	action "Starting $prog: " /bin/true
    else
	action "Starting $prog: " /bin/false
    fi
    
    return $ret
}

stop() {
    for dir in $progdirs
    do
        if [ -d $dir ]; then
	    $svc -d $dir
	fi
    done
    ret=$?

    if [ $ret -eq 0 ]; then
	action "Stopping $prog: " /bin/true
    else
	action "Stopping $prog: " /bin/false
    fi
    
    return $ret
}

stat() {
    for dir in $progdirs
    do
        if [ -d $dir ]; then
	    $svstat $dir
	fi
    done
}

pause() {
    for dir in $progdirs
    do
        if [ -d $dir ]; then
	    $svc -p $dir
	fi
    done
    ret=$?

    if [ $ret -eq 0 ]; then
	action "Pausing $prog: " /bin/true
    else
	action "Pausing $prog: " /bin/false
    fi
    
    return $ret
}

cont() {
    for dir in $progdirs
    do
        if [ -d $dir ]; then
	    $svc -c $dir
	fi
    done
    ret=$?

    if [ $ret -eq 0 ]; then
	action "Continuing $prog: " /bin/true
    else
	action "Continuing $prog: " /bin/false
    fi
    
    return $ret
}

doqueue() {
    svc -a /service/send
    ret=$?

    if [ $ret -eq 0 ]; then
	action "Sending ALRM signal to qmail-send: " /bin/true
    else
	action "Sending ALRM signal to qmail-send: " /bin/false
    fi
    
    return $ret
}

reload() {
    svc -h /service/send
    ret=$?

    if [ $ret -eq 0 ]; then
	action "Sending HUP signal to qmail-send: " /bin/true
    else
	action "Sending HUP signal to qmail-send: " /bin/false
    fi
    
    return $ret
}

case "$1" in 
	start)
		start
		;;
	stop)
		stop
		;;
        restart)
                stop
                start
		;;
        status)  
	        stat
		;;
        doqueue|alrm)
                doqueue
                ;;
        queue)
                qmail-qstat
                qmail-qread
                ;;
        reload|hup)
                reload
                ;;
        pause)
                pause
                ;;
        cont)
                cont
                ;;
	*)
		echo $"Usage: $0 {start|stop|restart|status|doqueue|queue|reload|pause|cont}"
		exit 1
esac

exit $ret
