#!/bin/sh
#
# Procedimiento de arranque y parada de to-milter
#

FILTER="/usr/local/sbin/ctoloc-milter"
OPTIONS="-p inet:90922@147.156.1.149 -l"

TUSER="oper"

LOG="/var/log/ctoloc-milter.log"

WORKDIR="/var/spam/criba"

case "$1" in
'start')


    FILTER_PID=`ps auxww | grep ${FILTER} \
               | grep -v 'grep' \
               | awk '{print $2}'`

    if [ "X$FILTER_PID" != "X" ]
    then
        echo "Start: CToloc-Milter is runing; PID = $FILTER_PID"
        exit 1
    fi
    
    # Borrado del log y puesta de permisos
    # rm /var/log/ctoloc-milter.log
    # touch /var/log/ctoloc-milter.log
    # chown $TUSER /var/log/ctoloc-milter.log

    # Esto reduce el tamaño del stack para que pueda lanzar más
    # de 256 threads (por defecto el stack esta a 8192).
    # ulimit -s 2048
    # Aranque de ctoloc-milter
     su - $TUSER -c "ulimit -s 2048; $FILTER $OPTIONS"

    ;;

'restart')

    FILTER_PID=`ps auxww | grep ${FILTER} \
               | grep -v 'grep' \
               | awk '{print $2}'`

    if [ "X$FILTER_PID" != "X" ]
    then
        kill -9 $FILTER_PID
    fi

    # Aranque de ctoloc-milter
    su - $TUSER "ulimit -s 2048; $FILTER $OPTIONS"

    ;;

'stop')


    FILTER_PID=`ps auxww | grep ${FILTER}\
               | grep -v 'grep' \
               | awk '{print $2}'`

    if [ "X$FILTER_PID" == "X" ]
    then
        echo "Stop: CToloc-Milter is not runing"
        exit 1
    fi

    kill -9 $FILTER_PID
    ;;

*)
        echo "Usage: $0 { start | stop }"
        exit 1
        ;;
esac
exit 0


