summaryrefslogtreecommitdiff
path: root/mail-filter/dcc/files/dcc.initd-1.3.140
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /mail-filter/dcc/files/dcc.initd-1.3.140
reinit the tree, so we can have metadata
Diffstat (limited to 'mail-filter/dcc/files/dcc.initd-1.3.140')
-rw-r--r--mail-filter/dcc/files/dcc.initd-1.3.140100
1 files changed, 100 insertions, 0 deletions
diff --git a/mail-filter/dcc/files/dcc.initd-1.3.140 b/mail-filter/dcc/files/dcc.initd-1.3.140
new file mode 100644
index 000000000000..8fc4ac3540c3
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.initd-1.3.140
@@ -0,0 +1,100 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use logger
+ need net
+ before mta
+}
+
+checkconfig() {
+ if [ ! -f "/etc/dcc/dcc_conf" ]; then
+ eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
+ return 1
+ fi
+ for i in DCCD_ENABLE GREY_ENABLE DCCM_ENABLE DCCIFD_ENABLE DCC_LIBEXEC DCC_RUNDIR \
+ SOCKET_USER SOCKET_GROUP SOCKET_MODE; do
+ read -r ${i} <<-EOF
+ $( grep ^[[:space:]]*${i} /etc/dcc/dcc_conf | sed s/.*=// )
+ EOF
+ done
+ DCC_RUNDIR="${DCC_RUNDIR:-/var/run/dcc}"
+ if [ ! -d "${DCC_RUNDIR}" ]; then
+ checkpath -q -d -o root:root -m 0755 "${DCC_RUNDIR}" || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ local atleastone="${DCCD_ENABLE}${GREY_ENABLE}${DCCM_ENABLE}${DCCIFD_ENABLE}"
+ atleastone=$( echo ${atleastone} | tr -d 'off' )
+ if [ -z "${atleastone}" ]; then
+ eend 1 "At least one service should be 'on' in /etc/dcc/dcc_conf"
+ return 1
+ fi
+
+ if [ "${DCCD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccd" ]; then
+ ebegin "Starting dccd"
+ ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${GREY_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-grey" ]; then
+ ebegin "Starting grey"
+ ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${DCCM_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccm" ]; then
+ ebegin "Starting dccm"
+ ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
+ eend ${?}
+ local dccmtimeout=0
+ while [ ${dcctimeout} -le 20 ] ; do
+ if [ -S "${DCC_RUNDIR}/dccm" ] || [ -r "${DCC_RUNDIR}/dccm" ]; then
+ break
+ else
+ sleep 1
+ dcctimeout=$(($dcctimeout + 1))
+ fi
+ done
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid 1>/dev/null 2>&1 || return 1
+ fi
+
+ if [ "${DCCIFD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccifd" ]; then
+ ebegin "Starting dccif"
+ ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
+ eend ${?}
+ fi
+}
+
+stop() {
+ checkconfig || return 1
+
+ if [ -r "${DCC_RUNDIR}/dccifd.pid" ]; then
+ ebegin "Stopping dccif"
+ kill -15 $(< ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if [ -r "${DCC_RUNDIR}/dccm.pid" ]; then
+ ebegin "Stopping dccm"
+ kill -15 $(< ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping dccd"
+ ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping grey"
+ ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
+ eend ${?}
+ fi
+}