#! /bin/bash -e ### BEGIN INIT INFO # Short-Description: Courier IMAP-SSL server # 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 prefix="/usr" exec_prefix=${prefix} sysconfdir="/etc/courier" bindir="${exec_prefix}/bin" sbindir="${exec_prefix}/sbin" libexecdir="${prefix}/lib/courier" TCPD=${sbindir}/couriertcpd DAEMONPROG=${sbindir}/imapd DAEMON=imapd-ssl PROGRAM="Courier IMAP-SSL server" # first of all check if daemon is available if ! [ -x "${bindir}/imapd" ]; then exit 0 fi if ! [ -x $TCPD ]; then echo "ERR: $TCPD missing" exit 1 fi if ! [ -f ${sysconfdir}/imapd ]; then echo "ERR: config file missing" exit 1 fi if ! [ -f ${sysconfdir}/imapd-ssl ]; then echo "ERR: config file missing" exit 1 fi # ensure that maildirpath is set if [ -z "$MAILDIRPATH" ]; then MAILDIRPATH=Maildir fi . ${sysconfdir}/imapd . ${sysconfdir}/imapd-ssl if ! [ -x $COURIERTLS ]; then echo "ERR: $COURIERTLS missing" exit 1 fi START=no case "$IMAPDSSLSTART" in [yY]*)START=yes;; esac case "$1" in start) if [ "$START" = "yes" ]; then echo -n "Starting $PROGRAM:" umask $IMAP_UMASK ulimit -v $IMAP_ULIMITD /usr/bin/env - /bin/sh -c " . ${sysconfdir}/imapd ; \ . ${sysconfdir}/imapd-ssl ; \ IMAP_TLS=1 ; export IMAP_TLS ; \ `sed -n '/^#/d;/=/p' <${sysconfdir}/imapd | \ sed 's/=.*//;s/^/export /;s/$/;/'` `sed -n '/^#/d;/=/p' <${sysconfdir}/imapd-ssl | \ sed 's/=.*//;s/^/export /;s/$/;/'` PROXY_HOSTNAME=$PROXY_HOSTNAME ; \ /usr/sbin/courierlogger -pid=$SSLPIDFILE -start $SSLLOGGEROPTS \ $TCPD -address=$SSLADDRESS \ -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \ $TCPDOPTS \ $SSLPORT $COURIERTLS -server -tcpd \ ${libexecdir}/courier/imaplogin \ ${bindir}/imapd $MAILDIRPATH" echo " $DAEMON." fi ;; stop) echo -n "Stopping $PROGRAM:" /usr/sbin/courierlogger -pid=$SSLPIDFILE -stop echo " $DAEMON." ;; restart | force-reload) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0