blob: 3826b48da2ba4c76a63e30dffaef07bc0a8b1f8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
# NB: Config is in /etc/conf.d/mimedefang
depend() {
need net
before mta
after antivirus
}
prog='mimedefang'
# Main PID file
PID="$SPOOLDIR/$prog.pid"
# Multiplexor PID file
MXPID="$SPOOLDIR/$prog-multiplexor.pid"
PROGDIR=/usr/bin
# Locale should be set to "C" for generating valid date headers
LC_ALL=C
export LC_ALL
# Make sure required vars are set
SOCKET=${SOCKET:=$SPOOLDIR/$prog.sock}
MX_SOCKET=${MX_SOCKET:=$SPOOLDIR/$prog-multiplexor.sock}
start() {
# Is there /etc/mail/mimedefang-filter ?
if [ ! -f /etc/mail/mimedefang-filter ]; then
eerror "Cannot find /etc/mail/mimedefang-filter"
return 1
fi
if test -r $PID ; then
if kill -0 `cat $PID` > /dev/null 2>&1 ; then
eerror "mimedefang (`cat $PID`) seems to be running."
return 1
fi
fi
if test -r $MXPID ; then
if kill -0 `cat $MXPID` > /dev/null 2>&1 ; then
eerror "mimedefang-multiplexor (`cat $MXPID`) seems to be running."
return 1
fi
fi
rm -f $MX_SOCKET > /dev/null 2>&1
if [ "$MX_EMBED_PERL" = "yes" ] ; then
EMBEDFLAG=-E
else
EMBEDFLAG=""
fi
ebegin "Starting mimedefang-multiplexor"
start-stop-daemon --start --quiet \
--exec $PROGDIR/$prog-multiplexor -- -p $MXPID \
$EMBEDFLAG \
`[ -n "$FILTER" ] && echo "-f $FILTER"` \
`[ -n "$SYSLOG_FACILITY" ] && echo "-S $SYSLOG_FACILITY"` \
`[ -n "$SUBFILTER" ] && echo "-F $SUBFILTER"` \
`[ -n "$MX_MINIMUM" ] && echo "-m $MX_MINIMUM"` \
`[ -n "$MX_MAXIMUM" ] && echo "-x $MX_MAXIMUM"` \
`[ -n "$MX_MAP_SOCKET" ] && echo "-N $MX_MAP_SOCKET"` \
`[ -n "$MX_LOG_SLAVE_STATUS_INTERVAL" ] && echo "-L $MX_LOG_SLAVE_STATUS_INTERVAL"` \
`[ -n "$MX_USER" ] && echo "-U $MX_USER"` \
`[ -n "$MX_IDLE" ] && echo "-i $MX_IDLE"` \
`[ -n "$MX_BUSY" ] && echo "-b $MX_BUSY"` \
`[ -n "$MX_REQUESTS" ] && echo "-r $MX_REQUESTS"` \
`[ -n "$MX_SLAVE_DELAY" ] && echo "-w $MX_SLAVE_DELAY"` \
`[ -n "$MX_MIN_SLAVE_DELAY" ] && echo "-W $MX_MIN_SLAVE_DELAY"` \
`[ -n "$MX_MAX_RSS" ] && echo "-R $MX_MAX_RSS"` \
`[ -n "$MX_MAX_AS" ] && echo "-M $MX_MAX_AS"` \
`[ "$MX_LOG" = "yes" ] && echo "-l"` \
`[ "$MX_STATS" = "yes" ] && echo "-t /var/log/mimedefang/stats"` \
`[ "$MX_STATS" = "yes" -a "$MX_FLUSH_STATS" = "yes" ] && echo "-u"` \
`[ "$MX_STATS_SYSLOG" = "yes" ] && echo "-T"` \
`[ "$MX_STATUS_UPDATES" = "yes" ] && echo "-Z"` \
`[ -n "$MX_QUEUE_SIZE" ] && echo "-q $MX_QUEUE_SIZE"` \
`[ -n "$MX_QUEUE_TIMEOUT" ] && echo "-Q $MX_QUEUE_TIMEOUT"` \
`[ -n "$MX_NOTIFIER" ] && echo "-O $MX_NOTIFIER"` \
-s $MX_SOCKET
eend $? "Failed to start mimedefang-multiplexor"
rm -f $SOCKET > /dev/null 2>&1
ebegin "Starting mimedefang"
start-stop-daemon --start --quiet \
--exec $PROGDIR/$prog -- -P $PID \
-m $MX_SOCKET \
`[ -n "$MX_USER" ] && echo "-U $MX_USER"` \
`[ -n "$SYSLOG_FACILITY" ] && echo "-S $SYSLOG_FACILITY"` \
`[ "$MX_RELAY_CHECK" = "yes" ] && echo "-r"` \
`[ "$MX_SENDER_CHECK" = "yes" ] && echo "-s"` \
`[ "$MX_RECIPIENT_CHECK" = "yes" ] && echo "-t"` \
`[ "$KEEP_FAILED_DIRECTORIES" = "yes" ] && echo "-k"` \
`[ "$MD_EXTRA" != "" ] && echo $MD_EXTRA` \
-p $SOCKET
eend $? "Failed to start mimedefang"
}
stop() {
ebegin "Stopping mimedefang"
start-stop-daemon --stop --quiet --retry 10 --oknodo --exec $PROGDIR/$prog --pidfile $PID
RETVAL=$?
if [ $RETVAL -eq "0" ] ; then
rm -f $PID
rm -f $SOCKET
fi
eend $RETVAL "Failed to stop mimedefang"
ebegin "Stopping mimedefang-multiplexor"
start-stop-daemon --stop --quiet --retry 10 --oknodo --exec $PROGDIR/$prog-multiplexor --pidfile $MXPID
RETVAL=$?
if [ $RETVAL -eq "0" ] ; then
rm -f $MXPID
rm -f $MX_SOCKET
fi
eend $RETVAL "Failed to stop mimedefang-multiplexor"
}
|