Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Dec 2004 16:41:11 +0300 (MSK)
From:      Yar Tikhiy <yar@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        rob@debank.tv
Subject:   ports/75607: clamav: some practical ideas
Message-ID:  <200412291341.iBTDfBqM072053@bsd.chem.msu.ru>
Resent-Message-ID: <200412291350.iBTDoEjW052547@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         75607
>Category:       ports
>Synopsis:       clamav: some practical ideas
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Dec 29 13:50:14 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Yar Tikhiy
>Release:        FreeBSD 4.11-PRERELEASE i386
>Organization:
Moscow State University
>Environment:
System: FreeBSD bsd.chem.msu.ru 4.11-PRERELEASE FreeBSD 4.11-PRERELEASE #0: Thu Dec 16 16:11:22 MSK 2004 yar@bsd.chem.msu.ru:/ar/obj/ar/4.11/src/sys/BSD i386


>Description:
	1. Deinstalling clamav while clamav-milter is active won't
	go beyond trying to stop clamd, which isn't going to exit
	on a signal until all its clients disconnect.  I'd rather
	add an @unexec to stop clamav-milter before clamd if the
	former is active.

	2. Clamd should start before freshclam and clamav-milter IMHO.
	This can be achieved by means of rcorder(8) keywords.

	3. Clamav-milter won't write its pidfile unlike the rest of
	clamav daemons.  This can be fixed easily.

	Thanks!

>How-To-Repeat:

>Fix:

	To Rob Evers: I can commit this patch if you like my ideas.

Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/security/clamav/Makefile,v
retrieving revision 1.43
diff -u -r1.43 Makefile
--- Makefile	22 Dec 2004 02:10:11 -0000	1.43
+++ Makefile	29 Dec 2004 13:25:34 -0000
@@ -40,7 +40,8 @@
 PORTDOCS=	NEWS ChangeLog html
 
 DBDIR=		/var/db/clamav
-PLIST_SUB+=	DBDIR=${DBDIR}
+RUNDIR=		/var/run/clamav
+PLIST_SUB+=	DBDIR=${DBDIR} RUNDIR=${RUNDIR}
 
 CONFIGURE_ARGS=	--with-dbdir=${DBDIR} \
 		--disable-clamuko \
@@ -63,11 +64,12 @@
 
 CLAMAVUSER?=	clamav
 CLAMAVGROUP?=	clamav
-CLAMAV_CLAMD_SOCKET?=	/var/run/clamav/clamd
-CLAMAV_MILTER_SOCKET?=	/var/run/clamav/clmilter.sock
+CLAMAV_CLAMD_SOCKET?=	${RUNDIR}/clamd
+CLAMAV_MILTER_SOCKET?=	${RUNDIR}/clmilter.sock
 
 SED_SCRIPT=	-e 's|%%PREFIX%%|${PREFIX}|g' \
 		-e 's|%%DBDIR%%|${DBDIR}|g' \
+		-e 's|%%RUNDIR%%|${RUNDIR}|g' \
 		-e 's|%%CLAMAVUSER%%|${CLAMAVUSER}|g' \
 		-e 's|%%CLAMAVGROUP%%|${CLAMAVGROUP}|g' \
 		-e 's|%%CLAMAV_CLAMD_SOCKET%%|${CLAMAV_CLAMD_SOCKET}|g' \
@@ -75,7 +77,7 @@
 
 SED_CONF=	-E -e 's|^\#?(Example)$$|\#\1|' \
 		-e 's|^\#?((Update)?LogFile) .*/([a-z]+\.log)$$|\1 /var/log/clamav/\3|' \
-		-e 's|^\#?(PidFile) .*/([a-z]+\.pid)$$|\1 /var/run/clamav/\2|' \
+		-e 's|^\#?(PidFile) .*/([a-z]+\.pid)$$|\1 ${RUNDIR}/\2|' \
 		-e 's|^\#?(LocalSocket) .*$$|\1 ${CLAMAV_CLAMD_SOCKET}|' \
 		-e 's|^\#?(User) .*$$|\1 ${CLAMAVUSER}|' \
 		-e 's|^\#?(AllowSupplementaryGroups)$$|\1|' \
Index: pkg-plist
===================================================================
RCS file: /home/pcvs/ports/security/clamav/pkg-plist,v
retrieving revision 1.18
diff -u -r1.18 pkg-plist
--- pkg-plist	22 Dec 2004 02:10:11 -0000	1.18
+++ pkg-plist	29 Dec 2004 13:25:34 -0000
@@ -1,6 +1,7 @@
 @comment $FreeBSD: ports/security/clamav/pkg-plist,v 1.18 2004/12/22 02:10:11 edwin Exp $
-@unexec [ ! -f /var/run/clamav/clamd.pid ] || %%RC_DIR%%/clamav-clamd%%RC_SUFX%% stop || true
-@unexec [ ! -f /var/run/clamav/freshclam.pid ] || %%RC_DIR%%/clamav-freshclam%%RC_SUFX%% stop || true
+%%CLAMAV-MILTER%%@unexec [ ! -f %%RUNDIR%%/clamav-milter.pid ] || %%RC_DIR%%/clamav-milter%%RC_SUFX%% stop || true
+@unexec [ ! -f %%RUNDIR%%/freshclam.pid ] || %%RC_DIR%%/clamav-freshclam%%RC_SUFX%% stop || true
+@unexec [ ! -f %%RUNDIR%%/clamd.pid ] || %%RC_DIR%%/clamav-clamd%%RC_SUFX%% stop || true
 bin/clamav-config
 bin/clamscan
 bin/clamdscan
@@ -25,5 +26,5 @@
 @unexec [ ! -f %%DBDIR%%/daily.cvd ] || rm -f %%DBDIR%%/daily.cvd || true
 @unexec [ ! -f %%DBDIR%%/main.cvd ] || rm -f %%DBDIR%%/main.cvd || true
 @unexec rmdir %%DBDIR%%
-@unexec rmdir /var/run/clamav 2>/dev/null || true
+@unexec rmdir %%RUNDIR%% 2>/dev/null || true
 @unexec rmdir /var/log/clamav 2>/dev/null || true
Index: files/clamav-clamd.sh
===================================================================
RCS file: /home/pcvs/ports/security/clamav/files/clamav-clamd.sh,v
retrieving revision 1.5
diff -u -r1.5 clamav-clamd.sh
--- files/clamav-clamd.sh	22 Dec 2004 02:10:11 -0000	1.5
+++ files/clamav-clamd.sh	29 Dec 2004 13:25:34 -0000
@@ -22,7 +22,7 @@
 rcvar=`set_rcvar`
 
 command=%%PREFIX%%/sbin/clamd
-pidfile=/var/run/clamav/clamd.pid
+pidfile=%%RUNDIR%%/clamd.pid
 required_dirs=%%DBDIR%%
 required_files=%%PREFIX%%/etc/clamd.conf
 
Index: files/clamav-freshclam.sh
===================================================================
RCS file: /home/pcvs/ports/security/clamav/files/clamav-freshclam.sh,v
retrieving revision 1.5
diff -u -r1.5 clamav-freshclam.sh
--- files/clamav-freshclam.sh	22 Dec 2004 02:10:11 -0000	1.5
+++ files/clamav-freshclam.sh	29 Dec 2004 13:25:34 -0000
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: freshclam
-# REQUIRE: LOGIN
+# REQUIRE: LOGIN clamd
 # BEFORE: mail
 # KEYWORD: FreeBSD shutdown
 
@@ -22,7 +22,7 @@
 rcvar=`set_rcvar`
 
 command=%%PREFIX%%/bin/freshclam
-pidfile=/var/run/clamav/freshclam.pid
+pidfile=%%RUNDIR%%/freshclam.pid
 command_args="--daemon"
 required_dirs=%%DBDIR%%
 required_files=%%PREFIX%%/etc/freshclam.conf
Index: files/clamav-milter.sh
===================================================================
RCS file: /home/pcvs/ports/security/clamav/files/clamav-milter.sh,v
retrieving revision 1.4
diff -u -r1.4 clamav-milter.sh
--- files/clamav-milter.sh	22 Dec 2004 02:10:11 -0000	1.4
+++ files/clamav-milter.sh	29 Dec 2004 13:25:34 -0000
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: clamav-milter
-# REQUIRE: LOGIN
+# REQUIRE: LOGIN clamd
 # BEFORE: mail
 # KEYWORD: FreeBSD shutdown
 
@@ -22,6 +22,7 @@
 rcvar=`set_rcvar`
 
 command=%%PREFIX%%/sbin/clamav-milter
+pidfile=%%RUNDIR%%/clamav-milter.pid
 required_dirs=%%DBDIR%%
 required_files=%%PREFIX%%/etc/clamd.conf
 
@@ -33,7 +34,7 @@
 		warn "Stale socket $clamav_milter_socket removed."
 		rm "$clamav_milter_socket"
 	fi
-	rc_flags="${flags:-$clamav_milter_flags} $clamav_milter_socket"
+	rc_flags="--pidfile ${pidfile} ${flags:-$clamav_milter_flags} $clamav_milter_socket"
 }
 
 # read settings, set default values
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412291341.iBTDfBqM072053>