#!/bin/sh -e
### BEGIN INIT INFO
# Provides: keriomailserver mail-transport-agen
# Required-Start: $local_fs $network $time
# Required-Stop: $local_fs $network $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script to start and stop Kerio MailServer
### END INIT INFO

DESC="Kerio MailServer"
DIR=/opt/kerio/mailserver
NAME=mailserver
EXEC=$DIR/$NAME
PIDFILE=/var/run/kms.pid

[ -x $EXEC ] || exit 0

. /lib/lsb/init-functions

startService() {
    if [ ! -s "/opt/kerio/mailserver/mailserver.cfg" ]; then
        log_daemon_msg "$DESC is not configured."
cat << EOF

Please consult DEBIAN-README file for essential 
instructions on how to operate KMS in Linux
operating environment. 

To view the README file, type 

less /opt/kerio/mailserver/doc/DEBIAN-README
EOF
	exit 0
    fi
    ulimit -c unlimited
    ulimit -s 2048
    ulimit -n 4096
    start-stop-daemon --start --oknodo --quiet --exec $EXEC --pidfile $PIDFILE -- $DIR
}

stopService() {
    start-stop-daemon --stop --oknodo --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
}

statusService() {
    [ $(pidof $NAME) ] \
        && log_success_msg "$DESC is running." \
        || log_failure_msg "$DESC is not running."
}

case "$1" in
    start)
        log_daemon_msg "Starting $DESC" $NAME
        startService
        log_end_msg $?
        ;;
    stop)
        log_daemon_msg "Stopping $DESC" $NAME
        stopService
        log_end_msg $?
        ;;
    reload|force-reload|restart)
        log_daemon_msg "Restarting $DESC" $NAME
        stopService
        startService
        log_end_msg $?
        ;;
    status)
        statusService
        ;;
    *)
        log_action_msg "Usage: $0 {start|stop|restart|reload|force-reload|status}"
        exit 2
        ;;
esac

exit 0
:
