aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/mailscanner/Makefile11
-rw-r--r--mail/mailscanner/files/CHANGES.port10
-rw-r--r--mail/mailscanner/files/mta.sh.in2
-rw-r--r--mail/mailscanner/files/patch-bin:cron:update_phishing_sites.cron2
-rw-r--r--mail/mailscanner/files/patch-bin:cron:update_virus_scanners.cron2
-rw-r--r--mail/mailscanner/files/patch-lib-MailScanner-Exim.pm92
6 files changed, 113 insertions, 6 deletions
diff --git a/mail/mailscanner/Makefile b/mail/mailscanner/Makefile
index ad83732903f5..f10307709c82 100644
--- a/mail/mailscanner/Makefile
+++ b/mail/mailscanner/Makefile
@@ -7,6 +7,7 @@
PORTNAME= MailScanner
PORTVERSION= 4.52.2
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= http://www.sng.ecs.soton.ac.uk/mailscanner/files/4/tar/
DISTNAME= ${PORTNAME}-install-${PORTVERSION}-${PATCHLEVEL}
@@ -63,6 +64,10 @@ MLINKS= MailScanner.8 mailscanner.8 \
.include <bsd.port.pre.mk>
+.if ${PERL_LEVEL} < 500600
+IGNORE= dependency requires newer Perl
+.endif
+
.if defined(WITH_SPAMASSASSIN)
RUN_DEPENDS+= spamassassin:${PORTSDIR}/mail/p5-Mail-SpamAssassin
PLIST_SUB+= SPAMASSASSIN=""
@@ -146,7 +151,8 @@ do-build:
${WRKSRC}/bin/update_virus_scanners
${PERL} -pi -e \
's,/bin/bash,${LOCALBASE}/bin/bash,g; \
- s,/opt/MailScanner/bin,${PREFIX}/libexec/MailScanner,g;' \
+ s,/opt/MailScanner/bin,${PREFIX}/libexec/MailScanner,g; \
+ s,%%RC_SUBR%%,${RC_SUBR},g;' \
${WRKSRC}/bin/cron/update_virus_scanners.cron
${PERL} -pi -e \
's,/bin/bash,${LOCALBASE}/bin/bash,g; \
@@ -154,7 +160,8 @@ do-build:
${WRKSRC}/bin/update_phishing_sites
${PERL} -pi -e \
's,/bin/bash,${LOCALBASE}/bin/bash,g; \
- s,/opt/MailScanner/bin,${PREFIX}/libexec/MailScanner,g;' \
+ s,/opt/MailScanner/bin,${PREFIX}/libexec/MailScanner,g; \
+ s,%%RC_SUBR%%,${RC_SUBR},g;' \
${WRKSRC}/bin/cron/update_phishing_sites.cron
${PERL} -pi -e \
's,/etc/MailScanner/MailScanner.conf,${PREFIX}/etc/MailScanner/MailScanner.conf,g;' \
diff --git a/mail/mailscanner/files/CHANGES.port b/mail/mailscanner/files/CHANGES.port
index f14ee0d16302..a7ca3d438d8c 100644
--- a/mail/mailscanner/files/CHANGES.port
+++ b/mail/mailscanner/files/CHANGES.port
@@ -1,6 +1,14 @@
+Version 4.52.2_1
+=================
+- fixed bug in mta.sh script
+- fixed rc.subr reference in update_phishing_sites.cron and
+ update_virus_scanners.cron --> now dynamically rewritten to correct
+ location
+- Exim 4.61 changed queue file format which was incompatible with 4.52.2 --> patched
+
Version 4.52.2
=================
-- Upgrade to MailScanenr 4.52
+- Upgrade to MailScanner 4.52
Version 4.51.5
=================
diff --git a/mail/mailscanner/files/mta.sh.in b/mail/mailscanner/files/mta.sh.in
index 106cbea52232..759020deba41 100644
--- a/mail/mailscanner/files/mta.sh.in
+++ b/mail/mailscanner/files/mta.sh.in
@@ -69,7 +69,7 @@ if [ \( "$_mta_osversion" -lt "600101" \) -o \
\( \( $_mta_osversion -ge 700000 \) -a \
\( $_mta_osversion -lt 700007 \) \) ]
then
- $_mta_rc_script="{$_mta_rc_script}.sh"
+ _mta_rc_script="${_mta_rc_script}.sh"
fi
load_rc_config $name
diff --git a/mail/mailscanner/files/patch-bin:cron:update_phishing_sites.cron b/mail/mailscanner/files/patch-bin:cron:update_phishing_sites.cron
index 7b1d955a9ebd..245eaa5747f2 100644
--- a/mail/mailscanner/files/patch-bin:cron:update_phishing_sites.cron
+++ b/mail/mailscanner/files/patch-bin:cron:update_phishing_sites.cron
@@ -15,7 +15,7 @@
+# order to spread virus updates round the clock. 1800 seconds = 30 minutes.
+# Set this to 0 to disable it
+
-+. /usr/local/etc/rc.subr
++. %%RC_SUBR%%
+
+name="mailscanner"
+rcvar=`set_rcvar`
diff --git a/mail/mailscanner/files/patch-bin:cron:update_virus_scanners.cron b/mail/mailscanner/files/patch-bin:cron:update_virus_scanners.cron
index 59141df27b00..b370d9508f9f 100644
--- a/mail/mailscanner/files/patch-bin:cron:update_virus_scanners.cron
+++ b/mail/mailscanner/files/patch-bin:cron:update_virus_scanners.cron
@@ -15,7 +15,7 @@
+# order to spread virus updates round the clock. 1800 seconds = 30 minutes.
+# Set this to 0 to disable it
+
-+. /usr/local/etc/rc.subr
++. %%RC_SUBR%%
+
+name="mailscanner"
+rcvar=`set_rcvar`
diff --git a/mail/mailscanner/files/patch-lib-MailScanner-Exim.pm b/mail/mailscanner/files/patch-lib-MailScanner-Exim.pm
new file mode 100644
index 000000000000..d5167594397b
--- /dev/null
+++ b/mail/mailscanner/files/patch-lib-MailScanner-Exim.pm
@@ -0,0 +1,92 @@
+--- ../MailScanner-install-4.52.2.orig/lib/MailScanner/Exim.pm Wed Apr 26 09:25:10 2006
++++ lib/MailScanner/Exim.pm Wed Apr 26 09:26:00 2006
+@@ -251,7 +251,7 @@
+
+ my %metadata;
+ my($InHeader, $InSubject, $InDel, @headers, $msginfo, $from, @to, $subject);
+- my($ip, $sender, @acl, $line);
++ my($ip, $sender, @acl, @aclc, @aclm, $line, $acltype);
+
+ # Seek to the start of the file in case anyone read the file
+ # between me opening it and locking it.
+@@ -287,13 +287,24 @@
+ #$line eq "" and $metadata{"dv_$1"} = 1, next;
+ #$metadata{"dv_$1"} = $line;
+ #$metadata{dashvars}{$1} = 1;
+- if($1 eq "acl") {
++ # ACLs can be -acl or -aclc or -aclm.
++ $acltype = $1;
++ if($acltype =~ /^acl[cm]?$/) {
+ # we need to handle acl vars differently
+ if($line =~ /^(\d+) (\d+)$/) {
+ my $buf;
+ my $pos = $1;
+ my $len = $2;
+- $acl[$pos]=[];
++ if ($acltype eq "acl") {
++ $acl[$pos]->[0] = [];
++ } elsif ($acltype eq "aclc") {
++ $aclc[$pos]->[0] = [];
++ } elsif ($acltype eq "aclm") {
++ $aclm[$pos]->[0] = [];
++ } else {
++ # invalid format
++ last;
++ }
+ (read($RQf, $buf, $len + 1)==$len+1) or last;
+ if($buf =~ /\n$/) {
+ chomp $buf;
+@@ -301,7 +312,16 @@
+ # invalid format
+ last;
+ }
+- $acl[$pos]->[0] = $buf;
++ if ($acltype eq "acl") {
++ $acl[$pos]->[0] = $buf;
++ } elsif ($acltype eq "aclc") {
++ $aclc[$pos]->[0] = $buf;
++ } elsif ($acltype eq "aclm") {
++ $aclm[$pos]->[0] = $buf;
++ } else {
++ # invalid format
++ last;
++ }
+ } else {
+ # this is a weird format, and we're not sure how to handle it
+ last;
+@@ -315,6 +335,8 @@
+ next;
+ }
+ $metadata{aclvars} = \@acl;
++ $metadata{aclcvars} = \@aclc;
++ $metadata{aclmvars} = \@aclm;
+
+ # If it was an invalid queue file, log a warning and tell caller
+ unless (defined $line) {
+@@ -1059,11 +1081,24 @@
+
+ # ACLs patch starts here
+ # Add the separate ACL Vars
+- my @acl = @{$metadata->{aclvars}};
+- for($i=0; $i<=$#acl; $i++) {
++ my @acl = @{$metadata->{aclvars}};
++ my @aclc = @{$metadata->{aclcvars}};
++ my @aclm = @{$metadata->{aclmvars}};
++ my $greatestacl = $#acl;
++ $greatestacl = $#aclc if $#aclc > $greatestacl;
++ $greatestacl = $#aclm if $#aclm > $greatestacl;
++ for($i=0; $i<=$greatestacl; $i++) {
+ if($acl[$i]) {
+ $Qfile .= "-acl " . $i . " " . length($acl[$i]->[0]) . "\n";
+ $Qfile .= $acl[$i]->[0] . "\n";
++ }
++ if($aclc[$i]) {
++ $Qfile .= "-aclc " . $i . " " . length($aclc[$i]->[0]) . "\n";
++ $Qfile .= $aclc[$i]->[0] . "\n";
++ }
++ if($aclm[$i]) {
++ $Qfile .= "-aclm " . $i . " " . length($aclm[$i]->[0]) . "\n";
++ $Qfile .= $aclm[$i]->[0] . "\n";
+ }
+ }
+