#!/bin/sh
#
# chkconfig: 345 90 30
# description: Synchronizing Key Server
# processname: /usr/sbin/sks
# pidfile: /var/run/sks/pid
# config: /etc/sks/sksconf

#configuration options
. /etc/init.d/functions
WITHOUT_RC_COMPAT=1

sks=/usr/sbin/sks
DB=/var/lib/sks
LOCKFILE_sks=/var/lock/subsys/sks
PIDFILE_sks=/var/run/sks/sks
USER="_sks"

RETVAL=0

start() {
    if start-stop-daemon --start --test --quiet --pidfile "$PIDFILE_sks" \
	--user $USER --exec "$sks" >/dev/null; then
	    action "Starting sks daemon:" \
	    start-stop-daemon --start -b -m --pidfile "$PIDFILE_sks" -c "$USER"  -x $sks
    else
	msg_already_running sks
	passed "sks startup"
	echo
    fi
    RETVAL=$?
    [ $RETVAL -ne 0 ] || touch "$LOCKFILE_sks"

    return $RETVAL
}

stop() {
    action "Stoping sks daemon:" \
        start-stop-daemon --stop --pidfile "$PIDFILE_sks" --user $USER
    RETVAL=$?
    [ "$RETVAL" -ne 0 ] || rm -f -- "$LOCKFILE_sks" "$PIDFILE_sks"

    return $RETVAL
}

restart() {
	stop
	start
}

# See how we were called.
case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		restart
		;;
	condstop)
		if [ -e "$LOCKFILE_sks" ]; then
			stop
		fi
		;;
	condrestart)
		if [ -e "$LOCKFILE_sks" ]; then
			restart
		fi
		;;
	status)
		status --expect-user "$USER" --pidfile "$PIDFILE_sks" --lockfile "$LOCKFILE_sks" -- $sks
		RETVAL=$?
		;;
	*)
		msg_usage "${0##*/} {start|stop|restart|condstop|condrestart|status}"
		RETVAL=1
esac

exit $RETVAL
