]> git.pld-linux.org Git - packages/courier-imap.git/blob - courier-imap.init
- security note (no fixes known, 3.0.0 has this part of code mostly rewritten)
[packages/courier-imap.git] / courier-imap.init
1 #!/bin/sh
2 # IMAP Daemon
3 #
4 # chkconfig:    345 80 20
5 # description:  IMAP Daemon
6
7 # Source function library
8 . /etc/rc.d/init.d/functions
9
10 # Get network config
11 . /etc/sysconfig/network
12
13 ADDRESS=0.0.0.0
14 MAXPERIP=4
15 MAXDAEMONS=40
16 MAILDIR="Maildir"
17 TCPDOPTS=
18 IMAPDSSLSTART="no"
19
20 # Get service config
21 [ -f /etc/sysconfig/courier-imap ] && . /etc/sysconfig/courier-imap
22
23 # Check that networking is up.
24 if is_yes "${NETWORKING}"; then
25         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
26                 msg_network_down "Courier IMAP"
27                 exit 1
28         fi
29 else
30         exit 0
31 fi
32
33 RETVAL=0
34 # See how we were called.
35 case "$1" in
36   start)
37         # Check if the service is already running?
38         if [ ! -f /var/lock/subsys/courier-imap ]; then
39                 # start authdaemon, if not running..
40                 if [ ! -f /var/lock/subsys/authdaemon -a \
41                    -x /etc/rc.d/init.d/authdaemon ]; then
42                         /etc/rc.d/init.d/authdaemon start
43                         RETVAL=$?
44                         if [ $RETVAL -ne 0 ]; then
45                                 msg_starting "Courier IMAP"
46                                 fail
47                                 exit 1
48                         fi
49                 fi
50                 msg_starting "Courier IMAP"
51                 busy
52                 ulimit -d $IMAP_ULIMITD
53                 /usr/bin/env - /bin/sh -c " . /etc/sysconfig/courier-imap ; \
54                         `sed -n '/^#/d;/=/p' </etc/sysconfig/courier-imap | \
55                         sed 's/=.*//;s/^/export /;s/$/;/'` \
56                         /usr/lib/courier-imap/couriertcpd -address=$ADDRESS \
57                         -stderrlogger=/usr/lib/courier-imap/courierlogger \
58                         -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
59                         -pid=/var/run/imapd.pid $TCPDOPTS $PORTS /usr/sbin/imaplogin \
60                         /usr/lib/courier-imap/authlib/authdaemon /usr/bin/imapd $MAILDIR"
61                 RETVAL=$?
62                 if [ $RETVAL -eq 0 ]; then
63                         ok
64                 else
65                         fail
66                 fi
67
68                 
69                 if is_yes "$IMAPDSSLSTART"; then
70                         msg_starting "Courier IMAP (SSL)"
71                         /usr/bin/env - /bin/sh -c " . /etc/sysconfig/courier-imap ; \
72                                 IMAP_TLS=1; export IMAP_TLS; \
73                                 `sed -n '/^#/d;/=/p' </etc/sysconfig/courier-imap | \
74                                 sed 's/=.*//;s/^/export /;s/$/;/'`
75                                 /usr/lib/courier-imap/couriertcpd -address=$ADDRESS_SSL \
76                                 -stderrlogger=/usr/lib/courier-imap/courierlogger \
77                                 -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
78                                 -pid=/var/run/imapd-ssl.pid $TCPDOPTS \
79                                 $PORTS_SSL $COURIERTLS -server -tcpd \
80                                 /usr/sbin/imaplogin /usr/lib/courier-imap/authlib/authdaemon \
81                                 /usr/bin/imapd $MAILDIR"
82                         RETVAL=$?
83                         if [ $RETVAL -eq 0 ]; then
84                                 ok
85                         else
86                                 fail
87                         fi
88                 fi
89                 touch /var/lock/subsys/courier-imap
90         else
91                 msg_already_running "Courier IMAP"
92         fi
93         ;;
94   stop)
95         if [ -f /var/lock/subsys/courier-imap ]; then
96                 msg_stopping "Courier IMAP"
97                 daemon /usr/lib/courier-imap/couriertcpd -pid=/var/run/imapd.pid -stop
98                 if is_yes "$IMAPDSSLSTART"; then
99                         msg_stopping "Courier IMAP (SSL)"
100                         daemon /usr/lib/courier-imap/couriertcpd -pid=/var/run/imapd-ssl.pid -stop
101                 fi
102                 rm -f /var/lock/subsys/courier-imap
103         else
104                 msg_not_running "Courier IMAP"
105         fi
106         ;;
107   restart|force-reload)
108         $0 stop
109         $0 start
110         exit $?
111         ;;
112   status)
113         status couriertcpd
114         exit $?
115         ;;
116   *)
117         msg_usage "$0 {start|stop|restart|force-reload|status}"
118         exit 3
119 esac
120
121 exit $RETVAL
This page took 0.042766 seconds and 3 git commands to generate.