#!/bin/bash
set -e

NAME="RSPAMD"
CLAMAV="clamav"
WAIT=15
TRIES=5

function stop {
	echo "Stopping ${NAME}"
	kill $(cat /var/run/rspamd.pid)
}

trap 'stop' SIGTERM

if [ "$1" == "start" ]; then
	x=0; until ping -c1 ${CLAMAV} &>/dev/null; do echo "Waiting for [${CLAMAV}]..."; let x=$x+1; if [ $x -ge ${TRIES} ]; then NOTON=1; break; fi ; sleep ${WAIT}; done ; [ -n "${NOTON}" ] && echo "No [${CLAMAV}]?" && exit 1
	[ -x /usr/bin/rspamd ] && exec /usr/bin/rspamd -u _rspamd -g _rspamd -c /etc/rspamd/rspamd.conf -f -p /var/run/rspamd.pid &

	wait
else
	exec $@
fi