#!/bin/bash
# SysVinit do socksarmor para o GatePro.
#
# chkconfig: 345 99 99
# description: socksarmor
#
# $Id: gatepro-socksarmor.initscript 6121 2009-07-23 14:55:36Z stumpf $


# Ambiente.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network


# Verifica se h networking.
#if [ "${NETWORKING}" = "no" ]; then
#	printf >&2 $"GatePro: Networking no est ligado.\n"
#	exit 0
#fi


# Variveis.
readonly DAEMON=socksarmor
readonly DAEMON_PATH="/usr/bin/$DAEMON"
readonly DAEMON_CONF="/dados/etc/socksarmor/socksarmor-gatepro.config"
readonly DAEMON_LOG="/var/log/${DAEMON}_init.log"
readonly DAEMON_PID="/var/run/${DAEMON}.pid"
readonly LOCKFILE="/var/lock/subsys/$DAEMON"
DAEMON_PARAM="--config-file $DAEMON_CONF -t 600"
base=$DAEMON


# Subaliases.
readonly UNLOCK='rm -f $LOCKFILE'
readonly LOCK='touch $LOCKFILE'


# Funes SysV.
function start
{
	local ret

	if [ -f $DAEMON_PID ]; then
		rm -rf $DAEMON_PID
	fi

	printf $"Starting $DAEMON: "
	daemon $DAEMON_PATH $DAEMON_PARAM
	ret=$?

	printf "\n"

	return $ret
}

function stop
{
	local ret

	printf $"Shutting down $DAEMON: "
	killproc $DAEMON_PATH
	ret=$?

	printf "\n"

	return $ret
}


# Principal.
case "$1" in
	start)
		status $DAEMON_PATH &> /dev/null
		if [ $? -eq 0 ]; then
			printf "$DAEMON is already running.\n"
			exit 1
		fi

		ulimit -c unlimited

		start
		if [ $? -eq 0 ]; then
			eval $LOCK
		fi
		;;

	stop)
		status $DAEMON_PATH &> /dev/null
		if [ $? -ne 0 ]; then
			printf "$DAEMON is not running.\n"
			exit 1
		fi

		stop
		if [ $? -eq 0 ]; then
			eval $UNLOCK
		fi
		;;

	status)
		status $DAEMON_PATH
		;;

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

exit $?
