#! /bin/sh
#
# chkconfig: 2345 35 65
# description: Courier Socks server
#
#

prefix="/usr"
exec_prefix="/usr"
sysconfdir="/etc"
sbindir="/usr/sbin"
bindir="/usr/bin"
libexecdir="/usr/libexec/courier-sox"
datarootdir="${prefix}/share"
datadir="/usr/share"

# Source function library
. /etc/rc.d/init.d/functions

# Get network config
. /etc/sysconfig/network

# Check that networking is up.
if is_yes "${NETWORKING}"; then
	if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
		msg_network_down "Courier Socks"
		exit 1
	fi
else
	exit 0
fi

# Get service config
[ -f /etc/sysconfig/courier-sox ] && . /etc/sysconfig/courier-sox

start() {
	if [ -f /var/lock/subsys/courier-sox ]; then
		msg_already_running "Courier Socks"
		return
	fi

	cd /
	msg_starting "Courier Socks"
	$sbindir/sockd start && ok || fail
	RETVAL=$?
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/courier-sox
}

stop() {
	if [ ! -f /var/lock/subsys/courier-sox ]; then
		msg_not_running "Courier Socks"
		return
	fi
	msg_stopping "Courier Socks"
	$sbindir/sockd stop && ok || fail
	rm -f /var/lock/subsys/courier-sox
}

reload() {
	if [ ! -f /var/lock/subsys/courier-sox ]; then
		msg_not_running "Courier Socks"
		RETVAL=7
		return
	fi

	msg_reloading "Courier Socks"
	$sbindir/sockd restart && ok || fail
	RETVAL=$?
}

condrestart() {
	if [ ! -f /var/lock/subsys/courier-sox ]; then
		msg_not_running "Courier Socks"
		RETVAL=$1
		return
	fi
	stop
	start
}

case "$1" in
start)
	start
        ;;
stop)
	stop
        ;;
restart)
	stop
	start
        ;;
try-restart)
	condrestart 0
	;;
reload|force-reload)
        reload
        ;;
status)
        status sockd
	RETVAL=$?
	;;
*)
        msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
	exit 3
esac
exit $RETVAL
