From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- mail-filter/dcc/files/dcc.initd-1.3.140 | 100 ++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 mail-filter/dcc/files/dcc.initd-1.3.140 (limited to 'mail-filter/dcc/files/dcc.initd-1.3.140') 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 +} -- cgit v1.2.3