#!/bin/bash
#
# ctasd - Startup script for Parallels Premium Outgoing Antispam
#
# chkconfig: - 86 15
# description: Startup script for Parallels Premium Outgoing Antispam
# pidfile: /var/run/ctasd/ctasd.pid
#

. /etc/init.d/functions

RETVAL=0

NAME=ctasd
BINARY="./ctasd.bin"
BINDIR=/opt/ctch/$NAME
CONFDIR=/etc/$NAME
RUNDIR=/var/run/$NAME

SERVICE=$BINDIR/$NAME
SERVICE_CONFFILE=$CONFDIR/$NAME-out.conf
PIDFILE=$RUNDIR/$NAME.pid
SERVICE_STOP_TIMEOUT=5
SERVICE_OPTS=

SERVICENAME="Parallels Premium Outgoing Antispam"

# Reads config file (will override defaults above)
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

test -x "$SERVICE" || exit 0

start() {
	echo -n $"Starting $SERVICENAME: "
	daemon --check $BINARY $SERVICE -c $SERVICE_CONFFILE --pid $PIDFILE
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$NAME
}

stop() {
	echo -n $"Stopping $SERVICENAME: "
	killproc $BINARY
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$NAME $PIDFILE
}

status() {
	local pid
	if [ -f "$PIDFILE" ]; then
		read pid_r < $PIDFILE
		for pid in `pidof -o $$ -o $PPID -o %PPID -x $BINARY`; do
		if [ "$pid" -eq "$pid_r" ]; then
				echo "${SERVICENAME} (pid $pid) is running..."
				return 0
			fi
		done
		echo $"${SERVICENAME} dead but pid file exists"
		return 1
	fi

	if [ -f /var/lock/subsys/$NAME ]; then
			echo $"${SERVICENAME} dead but subsys locked"
			return 2
	fi

	echo $"${SERVICENAME} is stopped"
	return 3
}

# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  status)
	status
	;;
  restart|reload)
	stop
	start
	;;
  condrestart)
	[ -f /var/lock/subsys/$NAME ] && stop && start || :
	;;
  *)
	echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
	exit 1
esac

exit $?


