summaryrefslogtreecommitdiff
path: root/mail/mimedefang
diff options
context:
space:
mode:
authormarkd <markd@pkgsrc.org>2007-03-14 11:21:33 +0000
committermarkd <markd@pkgsrc.org>2007-03-14 11:21:33 +0000
commit78e83ffe7e9d83731059d253b8b68f2a3416e799 (patch)
tree4a8ed6e2393d87fd41d2c6d88407bfab028eed47 /mail/mimedefang
parent90436ee49d5e83212c8688f35d9d8e81e0005a3b (diff)
downloadpkgsrc-78e83ffe7e9d83731059d253b8b68f2a3416e799.tar.gz
Update mimedefang to 2.61.
includes patch to work with clamav 0.90 and newer. Changes since 2.59: * SECURITY FIX: Versions 2.59 and 2.60 contained a programming error that could lead to a buffer overflow. This is definitely exploitable as a denial-of-service attack, and potentially may allow arbitrary code execution. The bug is fixed in 2.61. * If a message is going to end up being rejected, discarded or tempfailed, we don't bother carrying out requests to add/delete/modify headers or recipients, change the message body, etc. * mimedefang.c: Fix filter registration so MIMEDefang works correctly against libmilter from Sendmail 8.14 Changes since 2.58: * A new "watch-multiple-mimedefangs.tcl" tool that lets you keep an eye on a cluster of MIMEDefang scanners. * Fixes to the build scripts that should eliminate build problems on Intel/AMD 64-bit architectures. * mimedefang generates the COMMANDS file more safely and more efficiently. * Various other minor improvements and bug-fixes.
Diffstat (limited to 'mail/mimedefang')
-rw-r--r--mail/mimedefang/Makefile4
-rw-r--r--mail/mimedefang/distinfo12
-rw-r--r--mail/mimedefang/patches/patch-ab12
-rw-r--r--mail/mimedefang/patches/patch-ac58
4 files changed, 70 insertions, 16 deletions
diff --git a/mail/mimedefang/Makefile b/mail/mimedefang/Makefile
index deab7f1fbe0..b4af5f3f627 100644
--- a/mail/mimedefang/Makefile
+++ b/mail/mimedefang/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.35 2006/11/08 09:42:05 markd Exp $
+# $NetBSD: Makefile,v 1.36 2007/03/14 11:21:33 markd Exp $
-DISTNAME= mimedefang-2.58
+DISTNAME= mimedefang-2.61
CATEGORIES= mail
MASTER_SITES= http://www.mimedefang.org/static/
diff --git a/mail/mimedefang/distinfo b/mail/mimedefang/distinfo
index 5960ce88ce1..e21ba405a12 100644
--- a/mail/mimedefang/distinfo
+++ b/mail/mimedefang/distinfo
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.15 2006/11/08 09:42:05 markd Exp $
+$NetBSD: distinfo,v 1.16 2007/03/14 11:21:33 markd Exp $
-SHA1 (mimedefang-2.58.tar.gz) = 1f6efc74535e5c4db35c031bdbc1e6a07bdafd33
-RMD160 (mimedefang-2.58.tar.gz) = 703bf4e77c5923f1ebbd5aa207d4e8d3c057e4b2
-Size (mimedefang-2.58.tar.gz) = 317448 bytes
-SHA1 (patch-ab) = 855a939cca7af09fd418da41589fc585750dae58
-SHA1 (patch-ac) = 0cd334c28d5458498d6d6fe2cce612ef448a0359
+SHA1 (mimedefang-2.61.tar.gz) = fb64b6f7ff57e095c48fce087211b1d67213a8cb
+RMD160 (mimedefang-2.61.tar.gz) = 982565fb55f0825aee631158d3b6acd3d8a3b3e1
+Size (mimedefang-2.61.tar.gz) = 326722 bytes
+SHA1 (patch-ab) = f6ba8f91126c65af434e6377e7e4873baf5c94ec
+SHA1 (patch-ac) = 9ae301538003ae087da649279167a0dc37273efa
diff --git a/mail/mimedefang/patches/patch-ab b/mail/mimedefang/patches/patch-ab
index c8c21d9a854..47db429f605 100644
--- a/mail/mimedefang/patches/patch-ab
+++ b/mail/mimedefang/patches/patch-ab
@@ -1,13 +1,13 @@
-$NetBSD: patch-ab,v 1.4 2005/12/10 22:14:15 markd Exp $
+$NetBSD: patch-ab,v 1.5 2007/03/14 11:21:33 markd Exp $
---- Makefile.in.orig 2005-09-15 05:14:59.000000000 +1200
+--- Makefile.in.orig 2007-01-20 07:42:17.000000000 +1300
+++ Makefile.in
-@@ -134,7 +134,7 @@ mimedefang-multiplexor.o: mimedefang-mul
+@@ -136,7 +136,7 @@ mimedefang-multiplexor.o: mimedefang-mul
@CC@ @CFLAGS@ $(DEFS) $(MINCLUDE) -c -o mimedefang-multiplexor.o mimedefang-multiplexor.c
- mimedefang: mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o
-- @CC@ @CFLAGS@ @PTHREAD_FLAG@ -o mimedefang mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o @LIBMILTERACTUAL@ @LIBS@
-+ @CC@ @CFLAGS@ @PTHREAD_FLAG@ -o mimedefang mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o @LDFLAGS@ @LIBMILTERACTUAL@ @LIBS@
+ mimedefang: mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o dynbuf.o
+- @CC@ @CFLAGS@ @PTHREAD_FLAG@ -o mimedefang mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o dynbuf.o @LIBMILTERDIR@ -lmilter @LIBS@
++ @CC@ @CFLAGS@ @PTHREAD_FLAG@ -o mimedefang mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o dynbuf.o @LDFLAGS@ @LIBMILTERDIR@ -lmilter @LIBS@
-test "$(DONT_STRIP)" != "1" && strip mimedefang
mimedefang.o: mimedefang.c mimedefang.h
diff --git a/mail/mimedefang/patches/patch-ac b/mail/mimedefang/patches/patch-ac
index 6afd4776489..702383384b8 100644
--- a/mail/mimedefang/patches/patch-ac
+++ b/mail/mimedefang/patches/patch-ac
@@ -1,6 +1,6 @@
-$NetBSD: patch-ac,v 1.4 2006/11/08 09:42:05 markd Exp $
+$NetBSD: patch-ac,v 1.5 2007/03/14 11:21:33 markd Exp $
---- mimedefang.pl.in.orig 2006-11-08 03:47:07.000000000 +1300
+--- mimedefang.pl.in.orig 2007-01-19 03:43:12.000000000 +1300
+++ mimedefang.pl.in
@@ -121,26 +121,26 @@ $VirusScannerRoutinesInitialized = 0;
$SALocalTestsOnly = 1;
@@ -46,3 +46,57 @@ $NetBSD: patch-ac,v 1.4 2006/11/08 09:42:05 markd Exp $
$Features{'Path:SENDMAIL'} = '@SENDMAILPROG@';
$Features{'Path:QUARANTINEDIR'} = '@QDIR@';
+@@ -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 --no-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 --no-summary --infected ./Work 2>&1");
+ if ($action ne 'proceed') {
+ return (wantarray ? ($code, $category, $action) : $code);
+ }
+@@ -4506,14 +4506,14 @@ 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 --unrar --stdout --no-summary --infected $CWD/Work 2>&1");
+ if ($action ne 'proceed') {
+ return (wantarray ? ($code, $category, $action) : $code);
+ }
+- md_syslog('info', "$MsgID: Falling back on clamscan --unzip because of Zip module failure in clamd");
++ md_syslog('info', "$MsgID: Falling back on clamscan --unzip --unrar because of Zip module failure in clamd");
+ return (wantarray ? interpret_clamav_code($code) : $code);
+ }
+ return (wantarray ? (999, 'swerr', 'tempfail') : 1);
+@@ -4603,14 +4603,14 @@ 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 --unrar --stdout --no-summary --infected $CWD/Work 2>&1");
+ if ($action ne 'proceed') {
+ return (wantarray ? ($code, $category, $action) : $code);
+ }
+- md_syslog('info', "$MsgID: Falling back on clamscan --unzip because of Zip module failure in clamd");
++ md_syslog('info', "$MsgID: Falling back on clamscan --unzip --unrar because of Zip module failure in clamd");
+ return (wantarray ? interpret_clamav_code($code) : $code);
+ }
+ return (wantarray ? (999, 'swerr', 'tempfail') : 999);