Files @ 6b1a8e5fdf56
Branch filter:

Location: ohnobinki_overlay/app-antivirus/clamav/files/clamd.rc - annotation

binki
forgot to update Manifest for app-antivirus/clamav
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
5a1af5749a73
#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/files/clamd.rc,v 1.16 2008/02/29 23:46:46 ticho Exp $

opts="logfix"

depend() {
	use net
	provide antivirus
}

start() {
	local clamd_socket=`awk '$1 == "LocalSocket" { print $2 }' /etc/clamd.conf`

	logfix

	if [ "${START_CLAMD}" = "yes" ]; then
		if [ -S "${clamd_socket:-/tmp/clamd}" ]; then
			rm -f ${clamd_socket:-/tmp/clamd}
		fi
		ebegin "Starting clamd"
		start-stop-daemon --start --quiet \
			--nicelevel ${CLAMD_NICELEVEL:-0} \
			--exec /usr/sbin/clamd
		eend $? "Failed to start clamd"
	fi

	if [ "${START_FRESHCLAM}" = "yes" ]; then
		ebegin "Starting freshclam"
		start-stop-daemon --start --quiet \
			--nicelevel ${FRESHCLAM_NICELEVEL:-0} \
			--exec /usr/bin/freshclam -- -d
		retcode=$?
		if [ ${retcode} = 1 ]; then
			eend 0
			einfo "Virus databases are already up to date."
		else
			eend ${retcode} "Failed to start freshclam"
		fi
	fi
	if [ "${START_MILTER}" = "yes" ]; then
		if [ -S "${MILTER_SOCKET}" ]; then
			rm -f ${MILTER_SOCKET}
		fi


		local milter_ext=no
		local milter_svr=no
		args=`getopt -q --options "es" --longoptions "external,server" --  $MILTER_OPTS`
		for arg in $args; do

			case "$arg" in

			-e | --external)
				milter_ext=yes;
				shift;;

			-s | --server)
				milter_svr=yes;
				shift;;

			--)
				shift;
				break;;
			esac
		done

		if [[ $milter_ext == yes && $milter_svr == no ]]; then
			local clamd_socket_wait_count=0
			local clamd_socket_wait_max=10
			local clamd_socket_wait_result=-1
			ebegin "Waiting for clamd to create ${clamd_socket}"
			while (( clamd_socket_wait < clamd_socket_wait_max )); do
				if [ -S "${clamd_socket:-/tmp/clamd}" ]; then
					clamd_socket_wait_result=0
					break
				else
					echo -n " ."
					let clamd_socket_wait++
					sleep 1
				fi
			done
			echo
			eend $clamd_socket_wait_result "Timeout waiting for ${clamd_socket}"
		fi
			
		ebegin "Starting clamav-milter"
		start-stop-daemon --start --quiet \
			--nicelevel ${MILTER_NICELEVEL:-0} \
			--exec /usr/sbin/clamav-milter -- ${MILTER_OPTS} ${MILTER_SOCKET}
		eend $? "Failed to start clamav-milter"
	fi
}

stop() {
	if [ "${START_CLAMD}" = "yes" ]; then
		ebegin "Stopping clamd"
		start-stop-daemon --stop --quiet --name clamd
		eend $? "Failed to stop clamd"
	fi
	if [ "${START_FRESHCLAM}" = "yes" ]; then
		ebegin "Stopping freshclam"
		start-stop-daemon --stop --quiet --name freshclam
		eend $? "Failed to stop freshclam"
	fi
	if [ "${START_MILTER}" = "yes" ]; then
		ebegin "Stopping clamav-milter"
		start-stop-daemon --stop --quiet --name clamav-milter
		eend $? "Failed to stop clamav-milter"
	fi
}

logfix() {
	if [ "${START_CLAMD}" = "yes" ]; then
		# fix clamd log permissions
		# (might be clobbered by logrotate or something)
		local logfile=`awk '$1 == "LogFile" { print $2 }' /etc/clamd.conf`
		local clamav_user=`awk '$1 == "User" { print $2 }' /etc/clamd.conf`
		if [ -n "${logfile}" ] && [ -n "${clamav_user}" ]; then
			if [ ! -f "${logfile}" ]; then
				touch ${logfile}
			fi
			chown ${clamav_user} ${logfile}
			chmod 640 ${logfile}
		fi
	fi

	if [ "${START_FRESHCLAM}" = "yes" ]; then
		# fix freshclam log permissions
		# (might be clobbered by logrotate or something)
		logfile=`awk '$1 == "UpdateLogFile" { print $2 }' /etc/freshclam.conf`
		local freshclam_user=`awk '$1 == "DatabaseOwner" { print $2 }' /etc/freshclam.conf`
		if [ -n "${logfile}" -a -n "${clamav_user}" ]; then
			if [ ! -f "${logfile}" ]; then
				touch ${logfile}
			fi	
			chown ${freshclam_user} ${logfile}
			chmod 640 ${logfile}
		fi
	fi
}