]> git.pld-linux.org Git - packages/courier-imap.git/blobdiff - courier-imap.init
- massive attack: adding Source-md5
[packages/courier-imap.git] / courier-imap.init
index b5dc3801602b4697e24ecb603dd8f102e372f072..bd811796694daca0eddd76f51d93508fb220e208 100644 (file)
 # Get network config
 . /etc/sysconfig/network
 
+ADDRESS=0.0.0.0
+MAXPERIP=4
+MAXDAEMONS=40
+MAILDIR="Maildir"
+TCPDOPTS=
+IMAPDSSLSTART="no"
+
 # Get service config
 [ -f /etc/sysconfig/courier-imap ] && . /etc/sysconfig/courier-imap
 
 # Check that networking is up.
-if [ "${NETWORKING}" = "no" ]; then
-       nls "WARNING: Networking is down. IMAP service can't be runed."
-       exit 1
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network ]; then
+               msg_network_down "Courier IMAP"
+               exit 1
+       fi
+else
+       exit 0
 fi
 
-
+RETVAL=0
 # See how we were called.
 case "$1" in
   start)
        # Check if the service is already running?
        if [ ! -f /var/lock/subsys/courier-imap ]; then
-               show Starting IMAP Daemon
+               # start authdaemon, if not running..
+               if [ ! -f /var/lock/subsys/authdaemon -a \
+                  -x /etc/rc.d/init.d/authdaemon ]; then
+                       /etc/rc.d/init.d/authdaemon start
+                       RETVAL=$?
+                       if [ $RETVAL -ne 0 ]; then
+                               msg_starting "Courier IMAP"
+                               fail
+                               exit 1
+                       fi
+               fi
+               msg_starting "Courier IMAP"
                busy
-               
-               LIBAUTHMODULES=""
-               for f in `echo $AUTHMODULES`; do
-                   LIBAUTHMODULES="$LIBAUTHMODULES /usr/lib/courier-imap/$f"
-               done
-
-               /usr/lib/courier-imap/couriertcpd -address=$ADDRESS \
-                   -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
-                   -pid=/var/run/imapd.pid -stderrlogger=/usr/lib/courier-imap/logger \
-                   -forcebind -nodnslookup -noidentlookup $PORT \
-                   /usr/bin/imaplogin $LIBAUTHMODULES /usr/bin/imapd $MAILDIR &
-
-               if ps ax | grep -v grep | grep -q couriertcpd; then
-                   deltext;ok
+               ulimit -d $IMAP_ULIMITD
+               /usr/bin/env - /bin/sh -c " . /etc/sysconfig/courier-imap ; \
+                       `sed -n '/^#/d;/=/p' </etc/sysconfig/courier-imap | \
+                       sed 's/=.*//;s/^/export /;s/$/;/'` \
+                       /usr/lib/courier-imap/couriertcpd -address=$ADDRESS \
+                       -stderrlogger=/usr/lib/courier-imap/courierlogger \
+                       -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
+                       -pid=/var/run/imapd.pid $TCPDOPTS $PORTS /usr/sbin/imaplogin \
+                       /usr/lib/courier-imap/authlib/authdaemon /usr/bin/imapd $MAILDIR"
+               RETVAL=$?
+               if [ $RETVAL -eq 0 ]; then
+                       ok
                else
-                   deltext;fail
+                       fail
                fi
+
+               
+               if is_yes "$IMAPDSSLSTART"; then
+                       msg_starting "Courier IMAP (SSL)"
+                       /usr/bin/env - /bin/sh -c " . /etc/sysconfig/courier-imap ; \
+                               IMAP_TLS=1; export IMAP_TLS; \
+                               `sed -n '/^#/d;/=/p' </etc/sysconfig/courier-imap | \
+                               sed 's/=.*//;s/^/export /;s/$/;/'`
+                               /usr/lib/courier-imap/couriertcpd -address=$ADDRESS_SSL \
+                               -stderrlogger=/usr/lib/courier-imap/courierlogger \
+                               -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
+                               -pid=/var/run/imapd-ssl.pid $TCPDOPTS \
+                               $PORTS_SSL $COURIERTLS -server -tcpd \
+                               /usr/sbin/imaplogin /usr/lib/courier-imap/authlib/authdaemon \
+                               /usr/bin/imapd $MAILDIR"
+                       RETVAL=$?
+                       if [ $RETVAL -eq 0 ]; then
+                               ok
+                       else
+                               fail
+                       fi
+               fi
+               touch /var/lock/subsys/courier-imap
        else
-               nls "IMAP already is running\n"
+               msg_already_running "Courier IMAP"
        fi
-       touch /var/lock/subsys/courier-imap
        ;;
   stop)
-       show Stopping IMAP Daemon
-       killproc couriertcpd
-       rm -f /var/run/imapd.pid
-       rm -f /var/lock/subsys/courier-imap
+       if [ -f /var/lock/subsys/courier-imap ]; then
+               msg_stopping "Courier IMAP"
+               daemon /usr/lib/courier-imap/couriertcpd -pid=/var/run/imapd.pid -stop
+               if is_yes "$IMAPDSSLSTART"; then
+                       msg_stopping "Courier IMAP (SSL)"
+                       daemon /usr/lib/courier-imap/couriertcpd -pid=/var/run/imapd-ssl.pid -stop
+               fi
+               rm -f /var/lock/subsys/courier-imap
+       else
+               msg_not_running "Courier IMAP"
+       fi
        ;;
-  restart|reload)
+  restart|force-reload)
        $0 stop
        $0 start
+       exit $?
        ;;
   status)
        status couriertcpd
+       exit $?
        ;;
   *)
-       nls "Usage: $0 {start|stop|restart|reload|status}"
-       exit 1
+       msg_usage "$0 {start|stop|restart|force-reload|status}"
+       exit 3
 esac
 
-exit 0
-
+exit $RETVAL
This page took 0.038455 seconds and 4 git commands to generate.