#! /bin/sh
#
### BEGIN INIT INFO
# Provides:          courier-authdaemon
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

. /lib/lsb/init-functions

. /etc/courier-imap/authlib/authdaemonrc

auth_bin=/usr/lib/courier-authlib/authdaemond
daemon=/usr/sbin/courierlogger
prog="Courier IMAP authentication daemon"

pidfile=/run/courier-authdaemon.pid

[ -n "$COURIER_UID" ] || courier_uid="popuser"
[ -n "$COURIER_GID" ] || courier_gid="popuser"

[ -x $daemon -a -x $auth_bin ] || exit;

start()
{
	install -m 0700 -o "$courier_uid" -g 0 -d "/var/run/authdaemon.courier-imap"
	/usr/bin/env - /bin/sh -c " set -a ;
		prefix=/usr ;
		exec_prefix=/usr ;
		sbindir=/usr/sbin ;
		localstatedir=/var/run ;
		. /etc/courier-imap/authlib/authdaemonrc ;
		$daemon -name=courier-authdaemon $LOGGEROPTS 			-pid=$pidfile 			${lockfile:+-lockfile=$lockfile} 			-start $auth_bin"

# Should be placed before start
#		-user=\"$courier_uid\" -group=\"$courier_uid\" -droproot #
}

stop()
{
	$daemon -pid="$pidfile" ${lockfile:+-lockfile=$lockfile} -stop "$auth_bin"
}


status() {
	status_of_proc -p "$pidfile" "$daemon" "`basename $daemon`"
}

case "$1" in
	start)
		log_daemon_msg "Starting $prog" "`basename $daemon`"
		start
		rc=$?
		if [ $rc -eq 0 ]; then
			log_end_msg 0
		else
			log_end_msg 1
		fi
		exit $rc
	;;
	stop)
		log_daemon_msg "Stopping $prog" "`basename $daemon`"
		stop
		rc=$?
		if [ $rc -eq 0 ]; then
			log_end_msg 0
		else
			log_end_msg 1
		fi
		exit $rc
	;;
	restart|force-reload|reload)
		$0 stop
		$0 start
	;;
	status)
		status
	;;
	condrestart)
		status >/dev/null 2>&1 && stop && start || :
	;;
	*)
		echo "Usage: $0 {start|stop|restart|force-reload|reload|status|condrestart}" >&2
		exit 2
	;;
esac
exit $?
