On Mon, Apr 09, 2007 at 08:32:02PM +0200, Matthieu Herrb wrote:
> On my (solaris) mail server at work, it happens that clamd returns an 
> error while parsing bad pdf or zip files, so mimedefangs falls back to 
> running clamav directly, in which case the patch applies afaict.

Thanks.  I've changed the FLAVOR to clamav and removed the
--disable-clamav CONFIGURE_ARG for the clamav flavor (so mimedefang can
use both clamd and clamav.  I also applied the patch.

-ME

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/mimedefang/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- Makefile    29 Oct 2006 18:34:25 -0000      1.2
+++ Makefile    9 Apr 2007 18:54:43 -0000
@@ -1,9 +1,9 @@
 # $OpenBSD: Makefile,v 1.2 2006/10/29 18:34:25 steven Exp $
 
-COMMENT=       "mailfilter to identify and mark spam"
+COMMENT=       "framework for filtering e-mail"
 
-DISTNAME=      mimedefang-2.57
-PKGNAME=       ${DISTNAME}p0
+DISTNAME=      mimedefang-2.61
+PKGNAME=       ${DISTNAME}
 CATEGORIES=    mail perl5
 
 HOMEPAGE=      http://www.mimedefang.org/
@@ -13,17 +13,49 @@ PERMIT_PACKAGE_CDROM=       Yes
 PERMIT_PACKAGE_FTP=    Yes
 PERMIT_DISTFILES_CDROM=        Yes
 PERMIT_DISTFILES_FTP=  Yes
-WANTLIB=       c m perl pthread util
+WANTLIB=       c m perl pthread util milter
 
 MASTER_SITES=  ${HOMEPAGE}static/
 
-RUN_DEPENDS=   :p5-MIME-tools-*:mail/p5-MIME-tools \
-               :p5-Digest-SHA1-*:security/p5-Digest-SHA1
+RUN_DEPENDS=   :p5-Archive-Zip-*:archivers/p5-Archive-Zip \
+               :p5-MIME-tools-*:mail/p5-MIME-tools \
+               :p5-Mail-Tools-*:mail/p5-Mail-Tools \
+               :p5-HTML-Parser-*:www/p5-HTML-Parser \
+               :p5-IO-stringy-*:devel/p5-IO-stringy \
+               :p5-Digest-SHA1-*:security/p5-Digest-SHA1 \
+               :p5-Unix-Syslog-*:sysutils/p5-Unix-Syslog
+
 BUILD_DEPENDS= ${RUN_DEPENDS}
 
 CONFIGURE_STYLE=gnu
-CONFIGURE_ARGS=        --with-user=_mdefang \
-               --disable-anti-virus
+CONFIGURE_ARGS=        --with-user=_mdefang
+
+FLAVORS=               clamav
+FLAVOR?=
+
+.if ${FLAVOR:L:Mclamav}
+CONFIGURE_ARGS+=       --disable-antivir \
+                       --disable-vexira \
+                       --disable-uvscan \
+                       --disable-bdc \
+                       --disable-sweep \
+                       --disable-trend \
+                       --disable-AvpLinux \
+                       --disable-kavscanner \
+                       --disable-aveclient \
+                       --disable-fsav \
+                       --disable-csav \
+                       --disable-fprot \
+                       --disable-sophie \
+                       --disable-nvcc \
+                       --disable-trophie
+
+BUILD_DEPENDS+=                ::security/clamav
+RUN_DEPENDS+=          ::security/clamav
+MESSAGE=               ${PKGDIR}/MESSAGE-clamav
+.else
+CONFIGURE_ARGS+=       --disable-anti-virus
+.endif
 
 NO_REGRESS=    Yes
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/mimedefang/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- distinfo    5 Apr 2007 16:20:02 -0000       1.2
+++ distinfo    9 Apr 2007 18:54:43 -0000
@@ -1,5 +1,5 @@
-MD5 (mimedefang-2.57.tar.gz) = 5Vsi3aVMSjtS4fvrkTWwzw==
-RMD160 (mimedefang-2.57.tar.gz) = CBbMOXwtZVIAdgnm1byXKEId670=
-SHA1 (mimedefang-2.57.tar.gz) = hSBwlwCKBqXN4cDmx2Jw73GaV2k=
-SHA256 (mimedefang-2.57.tar.gz) = 3GlYCg9Zx0W8RAqdHwlEbpSVuBpoHKslyBdxJWaFNDU=
-SIZE (mimedefang-2.57.tar.gz) = 316909
+MD5 (mimedefang-2.61.tar.gz) = PaLWh6QL2O0u9LHbOl6oYw==
+RMD160 (mimedefang-2.61.tar.gz) = mCVl+1XwglruYxFY07as09ijs+E=
+SHA1 (mimedefang-2.61.tar.gz) = +2S29/9X4JXEj84IchGx1nITqMs=
+SHA256 (mimedefang-2.61.tar.gz) = mjygmy2L9AQBqr8Dygyyt4u/BYNmQjjgVo5n9FJsH7M=
+SIZE (mimedefang-2.61.tar.gz) = 326722
Index: patches/patch-mimedefang_pl_in
===================================================================
RCS file: patches/patch-mimedefang_pl_in
diff -N patches/patch-mimedefang_pl_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-mimedefang_pl_in      9 Apr 2007 18:54:43 -0000
@@ -0,0 +1,47 @@
+$OpenBSD$
+--- mimedefang.pl.in.orig      Mon Apr  9 14:01:37 2007
++++ mimedefang.pl.in   Mon Apr  9 14:04:27 2007
+@@ -3669,7 +3669,7 @@ sub entity_contains_virus_clamav ($) {
+ 
+     # Run clamscan
+     my($code, $category, $action) =
+-      run_virus_scanner($Features{'Virus:CLAMAV'} . " --mbox --stdout 
--disable-summary --infected $path 2>&1");
++      run_virus_scanner($Features{'Virus:CLAMAV'} . " --stdout 
--disable-summary --infected $path 2>&1");
+     if ($action ne 'proceed') {
+       return (wantarray ? ($code, $category, $action) : $code);
+     }
+@@ -3693,7 +3693,7 @@ sub message_contains_virus_clamav () {
+ 
+     # Run clamscan
+     my($code, $category, $action) =
+-      run_virus_scanner($Features{'Virus:CLAMAV'} . " -r --mbox --stdout 
--disable-summary --infected ./Work 2>&1");
++      run_virus_scanner($Features{'Virus:CLAMAV'} . " -r --stdout 
--disable-summary --infected ./Work 2>&1");
+     if ($action ne 'proceed') {
+       return (wantarray ? ($code, $category, $action) : $code);
+     }
+@@ -4506,10 +4506,10 @@ sub entity_contains_virus_clamd ($;$) {
+           md_syslog('err', "$MsgID: Clamd returned error: $err_detail");
+           # If it's a zip module failure, try falling back on clamscan.
+           # This is despicable, but it might work
+-          if ($err_detail =~ /zip module failure/i &&
++          if ($err_detail =~ /(?:zip module failure|Not supported data 
format)/i &&
+               $Features{'Virus:CLAMAV'}) {
+               my ($code, $category, $action) =
+-              run_virus_scanner($Features{'Virus:CLAMAV'} . " -r --unzip 
--mbox --stdout --disable-summary --infected $CWD/Work 2>&1");
++              run_virus_scanner($Features{'Virus:CLAMAV'} . " -r --unzip 
--stdout --disable-summary --infected $CWD/Work 2>&1");
+               if ($action ne 'proceed') {
+                       return (wantarray ? ($code, $category, $action) : 
$code);
+               }
+@@ -4603,10 +4603,10 @@ sub message_contains_virus_clamd (;$) {
+           md_syslog('err', "$MsgID: Clamd returned error: $err_detail");
+           # If it's a zip module failure, try falling back on clamscan.
+           # This is despicable, but it might work
+-          if ($err_detail =~ /zip module failure/i &&
++          if ($err_detail =~ /(?:zip module failure|Not supported data 
format)/i &&
+               $Features{'Virus:CLAMAV'}) {
+               my ($code, $category, $action) =
+-                  run_virus_scanner($Features{'Virus:CLAMAV'} . " -r --unzip 
--mbox --stdout --disable-summary --infected $CWD/Work 2>&1");
++                  run_virus_scanner($Features{'Virus:CLAMAV'} . " -r --unzip 
--stdout --disable-summary --infected $CWD/Work 2>&1");
+               if ($action ne 'proceed') {
+                       return (wantarray ? ($code, $category, $action) : 
$code);
+               }
Index: pkg/MESSAGE
===================================================================
RCS file: /cvs/ports/mail/mimedefang/pkg/MESSAGE,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 MESSAGE
--- pkg/MESSAGE 19 Oct 2006 01:06:22 -0000      1.1.1.1
+++ pkg/MESSAGE 9 Apr 2007 18:54:43 -0000
@@ -5,6 +5,9 @@ INPUT_MAIL_FILTER(`mimedefang', \
        `S=unix:/var/run/mdefang/mimedefang.socket, \
        F=T, T=S:360s;R:360s;E:15m')dnl
 
+If you with to use mimedefang with SpamAssassin, you should
+install the p5-Mail-SpamAssassin package, too.
+
 If you wish to start up mimedefang automatically during system
 startup, add following lines to /etc/rc.local:
 
Index: pkg/MESSAGE-clamav
===================================================================
RCS file: pkg/MESSAGE-clamav
diff -N pkg/MESSAGE-clamav
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/MESSAGE-clamav  9 Apr 2007 18:54:43 -0000
@@ -0,0 +1,21 @@
+Configure clamd to use the _mdefang user by modifying the
+User line in /etc/clamd.conf and the DatabaseOwner line
+in /etc/freshclam.conf.
+Also run: chown -R _mdefang:_mdefang /var/clamav /var/db/clamav
+
+To finish installation you should add following line to
+your .mc files:
+
+INPUT_MAIL_FILTER(`mimedefang', \
+       `S=unix:/var/run/mdefang/mimedefang.socket, \
+       F=T, T=S:360s;R:360s;E:15m')dnl
+
+If you with to use mimedefang with SpamAssassin, you should
+install the p5-Mail-SpamAssassin package, too.
+
+If you wish to start up mimedefang automatically during system
+startup, add following lines to /etc/rc.local:
+
+if [ -f ${SYSCONFDIR}/rc.mimedefang ]; then
+       . ${SYSCONFDIR}/rc.mimedefang
+fi
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/mail/mimedefang/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST   19 Oct 2006 01:06:22 -0000      1.1.1.1
+++ pkg/PLIST   9 Apr 2007 18:54:43 -0000
@@ -1,6 +1,6 @@
 @comment $OpenBSD: PLIST,v 1.1.1.1 2006/10/19 01:06:22 alek Exp $
 @newgroup _mdefang:570
[EMAIL PROTECTED] 
_mdefang:570:_mdefang:daemon:MIMEDefang:/nonexistent:/sbin/nologin
[EMAIL PROTECTED] 
_mdefang:570:_mdefang:daemon:MIMEDefang:/var/spool/MIMEDefang:/sbin/nologin
 bin/md-mx-ctrl
 bin/mimedefang
 bin/mimedefang-multiplexor
@@ -15,7 +15,6 @@ bin/watch-mimedefang
 @man man/man8/mimedefang.pl.8
 @man man/man8/watch-mimedefang.8
 share/examples/mimedefang/
[EMAIL PROTECTED] ${SYSCONFDIR}/mail/
 share/examples/mimedefang/mimedefang-filter
 @sample ${SYSCONFDIR}/mail/mimedefang-filter
 share/examples/mimedefang/rc.mimedefang

Reply via email to