File courier-pop-ssl.init of Package courier-imap

#! /bin/sh
# Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All rights reserved.
#
# Author: Thorsten Kukuk <feedback@suse.de>
#
# /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
openSUSE Build Service is sponsored by