#! /bin/sh # Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany. # All rights reserved. # # Author: Thorsten Kukuk # # /etc/init.d/courier-pop-ssl # ### BEGIN INIT INFO # Provides: courier-pop-ssl # Required-Start: $syslog $remote_fs courier-authdaemon # Should-Start: # Required-Stop: $syslog $remote_fs # Should-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Courier-POP3 server for SSL connections # Description: Start the Courier-POP3 server, which is an # POP3 server for Maildir mailboxes. This # version only accepts SSL connections. ### END INIT INFO # Check for missing binaries (stale symlinks should not happen) POP3_BIN=/usr/sbin/pop3d test -x $POP3_BIN || exit 5 . /etc/rc.status # Read configuration TLS_CACHEFILE="" . /etc/courier/pop3d . /etc/courier/pop3d-ssl test "$MAILDIRPATH" == "" && MAILDIRPATH=Maildir test "$PIDFILE" == "" && PIDFILE=/var/run/pop3d.pid test "$SSLPIDFILE" == "" && PIDFILE=/var/run/pop3d-ssl.pid LOCKFILE=${SSLPIDFILE}.lock # Reset status of this service rc_reset # our version of check_proc #IN: $PIDFILE $LOCKFILE check_proc(){ # check for process ps auxw | grep -v grep | grep $1 >/dev/null RET=$? if [ $RET = "1" ]; then if [ -f $1 ]; then ERR=1 elif [ -f $2 ]; then ERR=2 else ERR=3 fi else ERR=$RET fi STATUS=$ERR return $STATUS } case "$1" in start) /etc/init.d/courier-authdaemon status > /dev/null || /etc/init.d/courier-authdaemon start echo -n "Starting Courier-POP3 (SSL)" if test ! -f $TLS_CERTFILE then echo -n " generating-SSL-certificate..." /usr/sbin/mkpop3dcert >/dev/null 2>&1 fi if test "$TLS_CACHEFILE" != "" then rm -f $TLS_CACHEFILE fi ulimit -v $POP3_ULIMITD /usr/bin/env - /bin/sh -c " set -a ; . /etc/courier/pop3d ; \ . /etc/courier/pop3d-ssl ; \ POP3_TLS=1; POP3_STARTTLS=NO; POP3_TLS_REQUIRED=0; \ PROXY_HOSTNAME=$PROXY_HOSTNAME ; \ /usr/sbin/courierlogger -pid=$SSLPIDFILE -start $SSLLOGGEROPTS \ /usr/lib/courier-imap/couriertcpd -address=$SSLADDRESS \ -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP $TCPDOPTS \ $SSLPORT $COURIERTLS -server -tcpd /usr/sbin/pop3login \ $POP3_BIN ${MAILDIRPATH}" # Remember status and be verbose rc_status -v ;; stop) echo -n "Shutting down Courier-POP3 (SSL)" /usr/sbin/courierlogger -pid=$SSLPIDFILE -stop # Remember status and be verbose rc_status -v rm -f $SSLPIDFILE{,.lock} ;; try-restart) $0 status >/dev/null && $0 restart # Remeber status rc_status ;; restart) $0 stop $0 start # Remeber status rc_status ;; force-reload) echo -n "Reload Courier-POP3 (SSL)" $0 stop && $0 start # Remeber status rc_status ;; reload) echo -n "Reload Courier-POP3 (SSL)" rc_failed 3 # Remember status and be verbose rc_status -v ;; status) echo -n "Checking for Courier-POP3 (SSL)" ## Check status with checkproc(8), if process is running ## checkproc will return with exit status 0. # Status has a slightly different for the status command: # 0 - service running # 1 - service dead, but /var/run/ pid file exists # 2 - service dead, but /var/lock/ lock file exists # 3 - service not running check_proc "$SSLPIDFILE" "$LOCKFILE" #Remeber status and be verbose rc_status -v ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" exit 1 ;; esac rc_exit