]> git.pld-linux.org Git - packages/exim.git/blame - exim.init
- rel 5; mime segfault fix
[packages/exim.git] / exim.init
CommitLineData
6a7ed0b9 1#!/bin/sh
2#
c0b03131 3# exim This shell script takes care of starting and stopping Exim.
6a7ed0b9 4#
c0b03131
JR
5# chkconfig: 2345 80 30
6# description: Exim is a Mail Transport Agent, which is the program \
7# that moves mail from one machine to another.
8# processname: exim
9# config: /etc/exim.cf
2b4493b8 10# pidfile: /var/spool/exim/exim-daemon.pid
9c228cad
AM
11
12# Source function library.
6a7ed0b9 13. /etc/rc.d/init.d/functions
14
9c228cad 15# Source networking configuration.
6a7ed0b9 16. /etc/sysconfig/network
17
0d9b945c
ER
18QUEUE=1h
19
c0b03131 20# Source exim configureation.
2afc326a 21if [ -f /etc/sysconfig/exim ]; then
9c228cad 22 . /etc/sysconfig/exim
6a7ed0b9 23fi
24
01e5d0f3 25# Check that networking is up.
f188b1d5 26if is_yes "${NETWORKING}"; then
d809ed84 27 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
0d9b945c 28 msg_network_down "Exim"
f188b1d5 29 exit 1
30 fi
31else
32 exit 0
c0b03131 33fi
01e5d0f3 34
81a167dc
AM
35checkconfig() {
36 local details=${1:-0} ret
37
38 RETVAL=0
39 if [ $details = 1 ]; then
40 for CONFIG in /etc/mail/exim.conf $EXIM_EXTRA_CONFIGS; do
41 run_cmd "Checking exim configuration ($CONFIG)" exim -bV -C $CONFIG
42 ret=$?
43 if [ $ret != 0 ]; then
44 RETVAL=$ret
45 fi
46 done
47 else
48 for CONFIG in /etc/mail/exim.conf $EXIM_EXTRA_CONFIGS; do
49 exim -bV -C $CONFIG > /dev/null 2>&1
50 ret=$?
51 if [ $ret != 0 ]; then
52 show "Checking %s configuration (%s)" "exim" "$CONFIG"; fail
53 RETVAL=$ret
54 fi
55 done
56 if [ $RETVAL != 0 ]; then
57 nls 'Configuration test failed. See details with %s "checkconfig"' $0
58 exit $RETVAL
59 fi
60 fi
61}
62
0d9b945c 63start() {
9c228cad 64 # Start daemons.
0d9b945c
ER
65 if [ -f /var/lock/subsys/exim ]; then
66 msg_already_running "Exim"
67 return
68 fi
69
70 msg_starting "Exim"
e55a592c 71 daemon /usr/bin/exim \
0d9b945c
ER
72 $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \
73 $( [ -n "$QUEUE" ] && echo -q$QUEUE )
74 for CONFIG in $EXIM_EXTRA_CONFIGS; do
75 msg_starting "Exim ($CONFIG)"
76 daemon exim \
77 $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \
78 $( [ -n "$QUEUE" ] && echo -q$QUEUE ) \
79 -C $CONFIG
80 done
81 RETVAL=$?
82 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/exim
83}
84
85stop() {
86 # Stop daemons.
87 if [ ! -f /var/lock/subsys/exim ]; then
88 msg_not_running "Exim"
89 return
90 fi
91
92 msg_stopping "Exim"
93 killproc --pidfile /var/spool/exim/exim-daemon.pid exim
94 rm -f /var/lock/subsys/exim /var/spool/exim/exim-daemon.pid >/dev/null 2>&1
95}
96
51a9ded0
ER
97condrestart() {
98 if [ ! -f /var/lock/subsys/exim ]; then
99 msg_not_running "Exim"
100 RETVAL=$1
101 return
102 fi
103
81a167dc 104 checkconfig
51a9ded0
ER
105 stop
106 start
107}
108
0d9b945c 109reload() {
9e7b57a4 110 if [ ! -f /var/lock/subsys/exim ]; then
0d9b945c
ER
111 msg_not_running "Exim"
112 RETVAL=7
113 return
114 fi
115
81a167dc
AM
116 checkconfig
117 msg_reloading "Exim"
118 killproc exim -HUP
119 RETVAL=$?
0d9b945c
ER
120}
121
122RETVAL=0
123# See how we were called.
124case "$1" in
125 start)
126 start
6a7ed0b9 127 ;;
128 stop)
0d9b945c 129 stop
6a7ed0b9 130 ;;
9c228cad 131 restart)
81a167dc 132 checkconfig
0d9b945c
ER
133 stop
134 start
6a7ed0b9 135 ;;
51a9ded0
ER
136 try-restart)
137 condrestart 0
7f8aac0d 138 ;;
d1e99794 139 reload|force-reload)
0d9b945c
ER
140 reload
141 ;;
51a9ded0 142 checkconfig|configtest)
81a167dc 143 checkconfig 1
51a9ded0 144 ;;
0d9b945c
ER
145 status)
146 status exim
147 exit $?
ee785f0b 148 ;;
6a7ed0b9 149 *)
51a9ded0 150 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|status}"
d1e99794 151 exit 3
6a7ed0b9 152esac
153
9e7b57a4 154exit $RETVAL
This page took 0.066943 seconds and 4 git commands to generate.