summaryrefslogtreecommitdiff
blob: 931f47bf5919ef477bae6f11c03f8e4c5b0febd1 (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
#!/sbin/openrc-run
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

SPOOLDIR="${SPOOLDIR:-/var/spool/MIMEDefang}"
PID="${SPOOLDIR}/mimedefang.pid"
MXPID="${SPOOLDIR}/mimedefang-multiplexor.pid"
LOCK="${SPOOLDIR}/mimedefang.lock"
MXLOCK="${SPOOLDIR}/mimedefang-multiplexor.lock"

# Make sure required vars are set
SOCKET="${SOCKET:-${SPOOLDIR}/mimedefang.sock}"
MX_SOCKET="${MX_SOCKET:-${SPOOLDIR}/mimedefang-multiplexor.sock}"

description="MIMEDefang mail filter"
extra_commands="checkconfig"
description_checkconfig="Check config for ${RC_SVCNAME}"

depend() {
	use antivirus
}

checkconfig() {
	checkpath -d "${SPOOLDIR}"
	einfo "multiplexor socket: ${MX_SOCKET}"
	einfo "sendmail socket: ${SOCKET}"
}

start() {
	checkconfig || return 1

	# First start mimedefang multiplexor
	rm -f "${MX_SOCKET}" > /dev/null 2>&1
	ebegin "Starting mimedefang-multiplexor"
	start-stop-daemon --start --quiet \
		--exec /usr/bin/mimedefang-multiplexor -- -p "${MXPID}" -o "${MXLOCK}" -z "${SPOOLDIR}" \
		${MD_MX_OPTS} ${MX_OPTS} \
		-s "${MX_SOCKET}"
	eend $? "Failed to start mimedefang-multiplexor"

	# And now start mimedefang
	rm -f "${SOCKET}" > /dev/null 2>&1
	ebegin "Starting mimedefang"
	start-stop-daemon --start --quiet \
		--exec /usr/bin/mimedefang -- -P "${PID}" -o "${LOCK}" -z "${SPOOLDIR}" \
		${MD_MX_OPTS} ${MD_OPTS} \
		-m "${MX_SOCKET}" \
		-p "${SOCKET}"
	eend $? "Failed to start mimedefang"
}

stop() {
	ebegin "Stopping mimedefang"
	start-stop-daemon --stop --quiet --pidfile "${PID}"
	eend $? "Failed to stop mimedefang"

	ebegin "Stopping mimedefang-multiplexor"
	start-stop-daemon --stop --quiet --pidfile "${MXPID}"
	eend $? "Failed to stop mimedefang-multiplexor"
}