#! /bin/sh
#
### BEGIN INIT INFO
# Provides:          courier-imap-ssl
# 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/imapd
. /etc/courier-imap/imapd-ssl

imapd_bin=/usr/bin/imapd
imaplogin_bin=/usr/sbin/imaplogin
daemon=/usr/sbin/courierlogger
tcpd_bin=/usr/lib/couriertcpd
prog="Courier IMAP server with SSL/TLS support"
pidfile=$SSLPIDFILE


[ -x $imapd_bin -a -x $imaplogin_bin ] || exit;
[ -x $daemon -a -x $tcpd_bin ] || exit;
[ -x $COURIERTLS ] || exit;

start()
{
	[ "$IMAPDSSLSTART" != "NO" ] || exit;
	[ -z "$TLS_CACHEFILE" ] || rm -f $TLS_CACHEFILE

	umask $IMAP_UMASK >/dev/null
	/usr/bin/env -i /bin/sh -c " set -a ;
		prefix=/usr ;
		exec_prefix=/usr ;
		bindir=/usr/bin ;
		libexecdir=/usr/lib ;
		. /etc/courier-imap/imapd ;
		. /etc/courier-imap/imapd-ssl ;
		PROXY_HOSTNAME=$PROXY_HOSTNAME ; 
		IMAP_TLS=1; 
		$daemon $SSLLOGGEROPTS 			-pid=$pidfile ${lockfile:+-lockfile=$lockfile} 			-start -name=courier-imaps 				$tcpd_bin 				-address=$SSLADDRESS 				-maxprocs=$MAXDAEMONS 				-maxperip=$MAXPERIP 				$TCPDOPTS $SSLPORT 				$COURIERTLS -server -tcpd 				$imaplogin_bin $imapd_bin ${MAILDIRPATH}"
}

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


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 $?
