#!/bin/sh
#
# ocspd		Startup script for the OCSPD responder
#
# chkconfig: - 85 15
# description: OpenCA OCSP Responder
# processname: ocspd
# pidfile: /var/run/ocspd.pid

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

if [ -f /etc/sysconfig/network ]; then
        . /etc/sysconfig/network
fi

if [ -f /etc/sysconfig/ocspd ]; then
        . /etc/sysconfig/ocspd
fi

prog=ocspd
exec="/usr/sbin/${prog}";
config="/etc/${prog}/${prog}.conf"
pidfile="/var/run/${prog}.pid"
lockfile="/var/lock/subsys/${prog}"

# Check that we are root ... so non-root users stop here
[ `id -u` = 0 ] || exit 1

# Check that networking is up.
[ "${NETWORKING}" = "yes" ] || exit 0

RETVAL=0

start()

{
	[ -x "${exec}" ] || exit 5
	[ -f "${config}" ] || exit 6
	echo -n $"Starting ${prog}: "
	daemon --pidfile "${pidfile}" "${exec}" -d -c "${config}"	\
		${OPTIONS} ${1}
	RETVAL=$?
	echo
	[ "${RETVAL}" -eq "0" ] && touch "${lockfile}"
	return $RETVAL
}

# See how we were called.
case "${1}" in
  start)
	start
	RETVAL=$?
	;;
  start-verbose)
	start -v
	RETVAL=$?
	;;
  start-debug)
	start "-v -debug"
	RETVAL=$?
	;;
  stop)
	echo -n $"Shutting down ${prog}: "
	killproc -p "${pidfile}" "${prog}"
	RETVAL=$?
	echo
	[ "${RETVAL}" -eq "0" ] && rm -f "${lockfile}"
	;;
  status)
	status "${prog}"
	RETVAL=$?
	;;
  reload)
	echo -n $"Reloading CRLs: "
	killproc -p "${pidfile}" "${prog}" -HUP
	RETVAL=$?
	echo
	;;
  restart|force-reload)
	"${0}" stop
	sleep 2
	"${0}" start
	;;
  condrestart|try-restart)
	[ -e "${lockfile}" ] && "${0}" restart
	;;
  *)
	echo "Usage: ${0} {start|start-verbose|start-debug|stop|status|"
	echo "		reload|force-reload|restart|condrestart|try-restart}"
	RETVAL=2
esac

exit $RETVAL
