aboutsummaryrefslogtreecommitdiffstats
path: root/mail/p5-Mail-SpamAssassin
diff options
context:
space:
mode:
authorgabor <gabor@FreeBSD.org>2010-02-10 17:06:08 +0800
committergabor <gabor@FreeBSD.org>2010-02-10 17:06:08 +0800
commitfeb11c72300dfc9bb9be94c3f26c454f645d880d (patch)
tree6228d964d8b606052ae4ad3adc46d5e791d82323 /mail/p5-Mail-SpamAssassin
parent9ed37f06b6b3184e3e05efbf651335879f8a897d (diff)
downloadfreebsd-ports-gnome-feb11c72300dfc9bb9be94c3f26c454f645d880d.tar.gz
freebsd-ports-gnome-feb11c72300dfc9bb9be94c3f26c454f645d880d.tar.zst
freebsd-ports-gnome-feb11c72300dfc9bb9be94c3f26c454f645d880d.zip
- Update to 3.3.0
- Reenable DCC (see DCC license for commercial use) PR: ports/143654 Submitted by: Michael Scheidell <scheidell@secnap.net> (maintainer)
Diffstat (limited to 'mail/p5-Mail-SpamAssassin')
-rw-r--r--mail/p5-Mail-SpamAssassin/Makefile52
-rw-r--r--mail/p5-Mail-SpamAssassin/distinfo6
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm13
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-Conf.pm24
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-DCC.pm21
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-Message.pm11
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm51
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-bayes.pm20
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-sa-compile.raw29
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-spamassassin.raw12
-rw-r--r--mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw59
-rw-r--r--mail/p5-Mail-SpamAssassin/pkg-install11
-rw-r--r--mail/p5-Mail-SpamAssassin/pkg-message8
-rw-r--r--mail/p5-Mail-SpamAssassin/pkg-plist57
14 files changed, 237 insertions, 137 deletions
diff --git a/mail/p5-Mail-SpamAssassin/Makefile b/mail/p5-Mail-SpamAssassin/Makefile
index b587d900fe4d..af23d47c75a7 100644
--- a/mail/p5-Mail-SpamAssassin/Makefile
+++ b/mail/p5-Mail-SpamAssassin/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= Mail-SpamAssassin
-PORTVERSION= 3.2.5
-PORTREVISION= 4
+PORTVERSION= 3.3.0
CATEGORIES= mail perl5
MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/}
MASTER_SITE_SUBDIR= spamassassin/source/:apache Mail/:cpan
@@ -22,17 +21,19 @@ BUILD_DEPENDS= p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \
p5-HTML-Parser>=3.43:${PORTSDIR}/www/p5-HTML-Parser \
p5-IO-Compress-Zlib>=2.04:${PORTSDIR}/archivers/p5-IO-Compress-Zlib \
p5-Compress-Zlib>=2.04:${PORTSDIR}/archivers/p5-Compress-Zlib \
- ${SITE_PERL}/Mail/Internet.pm:${PORTSDIR}/mail/p5-Mail-Tools \
- p5-Digest-SHA1>=2.11:${PORTSDIR}/security/p5-Digest-SHA1
+ ${SITE_PERL}/Mail/Internet.pm:${PORTSDIR}/mail/p5-Mail-Tools
RUN_DEPENDS= ${BUILD_DEPENDS} \
${SITE_PERL}/Bundle/LWP.pm:${PORTSDIR}/www/p5-libwww \
p5-Archive-Tar>=1.23:${PORTSDIR}/archivers/p5-Archive-Tar \
- ${SITE_PERL}/mach/Encode/Detect.pm:${PORTSDIR}/converters/p5-Encode-Detect
+ ${SITE_PERL}/${PERL_ARCH}/Encode/Detect.pm:${PORTSDIR}/converters/p5-Encode-Detect \
+ ${SITE_PERL}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes \
+ p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP
CONFLICTS= ja-p5-Mail-SpamAssassin-[0-9]*
PERL_CONFIGURE= yes
+USE_PERL5_RUN= 5.8.8+
USE_LDCONFIG= yes
CONFIGURE_ARGS= SYSCONFDIR="${PREFIX}/etc" \
CONTACT_ADDRESS="${CONTACT_ADDRESS}" \
@@ -44,14 +45,19 @@ CONTACT_ADDRESS?= The administrator of that system
OPTIONS= AS_ROOT "Run spamd as root (recommended)" on \
SPAMC "Build spamd/spamc (not for amavisd)" on \
SACOMPILE "sa-compile" off \
- DKIM "DKIM/DomainKeys Identified Mail" off \
+ DKIM "DKIM/DomainKeys Identified Mail" on \
SSL "Build with SSL support for spamd/spamc" on \
GNUPG "Install GnuPG (for sa-update)" on \
MYSQL "Add MySQL support" off \
PGSQL "Add PostreSQL support" off \
RAZOR "Add Vipul's Razor support" on \
SPF_QUERY "Add SPF query support" off \
- RELAY_COUNTRY "Relay country support" off
+ RELAY_COUNTRY "Relay country support" off \
+ DCC "Add DCC support (see LICENSE)" off
+
+.if !defined(WITHOUT_SSL)
+USE_OPENSSL= yes
+.endif
.include <bsd.port.pre.mk>
@@ -64,14 +70,12 @@ WITHOUT_SSL=1
.endif
.if defined(WITH_SPF_QUERY)
-RUN_DEPENDS+= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP
RUN_DEPENDS+= ${SITE_PERL}/Mail/SPF.pm:${PORTSDIR}/mail/p5-Mail-SPF
.endif
.if !defined(WITHOUT_SSL)
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL
-USE_OPENSSL= yes
CFLAGS+= -I${OPENSSLINC}
LDFLAGS+= -L${OPENSSLLIB}
CONFIGURE_ARGS+= ENABLE_SSL=yes
@@ -95,12 +99,19 @@ RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-P
.if defined(WITH_RAZOR)
RUN_DEPENDS+= razor-agents>=2.84:${PORTSDIR}/mail/razor-agents
+.else
+.if !defined(WITH_DKIM)
+.if ${PERL_LEVEL} < 501000
+RUN_DEPENDS=+ p5-Digest-SHA1>=2.11:${PORTSDIR}/security/p5-Digest-SHA1
+.endif
+.endif
.endif
.if defined(WITH_DKIM)
-RUN_DEPENDS+= p5-Mail-DKIM>=0.34:${PORTSDIR}/mail/p5-Mail-DKIM
+RUN_DEPENDS+= p5-Mail-DKIM>=0.37:${PORTSDIR}/mail/p5-Mail-DKIM
RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL
RUN_DEPENDS+= p5-Crypt-OpenSSL-RSA>=0.24:${PORTSDIR}/security/p5-Crypt-OpenSSL-RSA
+RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Digest/SHA.pm:${PORTSDIR}/security/p5-Digest-SHA
.endif
.if defined(WITH_SACOMPILE)
@@ -111,6 +122,14 @@ RUN_DEPENDS+= re2c>=.12.0:${PORTSDIR}/devel/re2c
RUN_DEPENDS+= ${SITE_PERL}/IP/Country/Fast.pm:${PORTSDIR}/net/p5-IP-Country
.endif
+.if !defined(NO_INET6)
+RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/INET6.pm:${PORTSDIR}/net/p5-IO-INET6
+.endif
+
+.if defined(WITH_DCC)
+RUN_DEPENDS+= dcc-dccd>=1.3.111:${PORTSDIR}/mail/dcc-dccd
+.endif
+
MAN3= Mail::SpamAssassin.3 \
Mail::SpamAssassin::AICache.3 \
Mail::SpamAssassin::ArchiveIterator.3 \
@@ -118,6 +137,7 @@ MAN3= Mail::SpamAssassin.3 \
Mail::SpamAssassin::AutoWhitelist.3 \
Mail::SpamAssassin::Bayes.3 \
Mail::SpamAssassin::BayesStore.3 \
+ Mail::SpamAssassin::BayesStore::BDB.3 \
Mail::SpamAssassin::BayesStore::MySQL.3 \
Mail::SpamAssassin::BayesStore::PgSQL.3 \
Mail::SpamAssassin::BayesStore::SQL.3 \
@@ -147,10 +167,10 @@ MAN3= Mail::SpamAssassin.3 \
Mail::SpamAssassin::Plugin::Check.3 \
Mail::SpamAssassin::Plugin::DCC.3 \
Mail::SpamAssassin::Plugin::DKIM.3 \
- Mail::SpamAssassin::Plugin::DomainKeys.3 \
Mail::SpamAssassin::Plugin::Hashcash.3 \
Mail::SpamAssassin::Plugin::MIMEHeader.3 \
Mail::SpamAssassin::Plugin::OneLineBodyRuleType.3 \
+ Mail::SpamAssassin::Plugin::PhishTag.3 \
Mail::SpamAssassin::Plugin::Pyzor.3 \
Mail::SpamAssassin::Plugin::Razor2.3 \
Mail::SpamAssassin::Plugin::RelayCountry.3 \
@@ -205,11 +225,12 @@ post-patch:
-e 's#B_CONFDIR)/v310.pre#B_CONFDIR)/v310.pre.sample#g' \
-e 's#B_CONFDIR)/v312.pre#B_CONFDIR)/v312.pre.sample#g' \
-e 's#B_CONFDIR)/v320.pre#B_CONFDIR)/v320.pre.sample#g' \
+ -e 's#B_CONFDIR)/v330.pre#B_CONFDIR)/v330.pre.sample#g' \
-e 's/require DBI/0/' \
${WRKSRC}/Makefile.PL
@${REINPLACE_CMD} -e '/^CC =/d; \
s|@SSLCFLAGS@|& $${CFLAGS}|g' ${WRKSRC}/spamc/Makefile.in
-
+ @${MKDIR} ${DATADIR}
.if defined(WITH_RAZOR)
${REINPLACE_CMD} -e '/Razor2/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v312.pre
@@ -217,8 +238,8 @@ post-patch:
.if defined(WITH_RELAY_COUNTRY)
${REINPLACE_CMD} -e '/RelayCountry/s/^# ?loadplugin/loadplugin/' ${WRKSRC}/rules/init.pre
.endif
-.if defined(WITH_DKIM)
- ${REINPLACE_CMD} -e '/DKIM/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v312.pre
+.if !defined(WITH_DKIM)
+ ${REINPLACE_CMD} -e '/DKIM/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/v312.pre
.endif
.if !defined(WITH_SPF_QUERY)
${REINPLACE_CMD} -e '/SPF/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/init.pre
@@ -226,6 +247,9 @@ post-patch:
.if defined(WITH_DCC)
${REINPLACE_CMD} -e '/DCC/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v310.pre
.endif
+.if !defined(WITH_AWL)
+ ${REINPLACE_CMD} -e '/AWL/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/v310.pre
+.endif
.if defined(WITH_SACOMPILE)
${REINPLACE_CMD} -e '/Rule2XSBody/s/^# loadplugin/loadplugin/' ${WRKSRC}/rules/v320.pre
.endif
diff --git a/mail/p5-Mail-SpamAssassin/distinfo b/mail/p5-Mail-SpamAssassin/distinfo
index dc86c2eec13b..74e0a7956b68 100644
--- a/mail/p5-Mail-SpamAssassin/distinfo
+++ b/mail/p5-Mail-SpamAssassin/distinfo
@@ -1,3 +1,3 @@
-MD5 (Mail-SpamAssassin-3.2.5.tar.gz) = 7fdc1651d0371c4a7f95ac9ae6f828a6
-SHA256 (Mail-SpamAssassin-3.2.5.tar.gz) = 105e18448d7ee2e576ceaca23b129da5e4a3c7dfccec73b6a3babb75d9c0b4f7
-SIZE (Mail-SpamAssassin-3.2.5.tar.gz) = 1223706
+MD5 (Mail-SpamAssassin-3.3.0.tar.gz) = 38078b07396c0ab92b46386bc70ef086
+SHA256 (Mail-SpamAssassin-3.3.0.tar.gz) = 51676f4c3af787e3b186aeb8c5ca556330f91a6e213c266480fda3518ed53564
+SIZE (Mail-SpamAssassin-3.3.0.tar.gz) = 1322429
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm b/mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm
new file mode 100644
index 000000000000..f2b729981786
--- /dev/null
+++ b/mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm
@@ -0,0 +1,13 @@
+--- lib/Mail/SpamAssassin/BayesStore/DBM.pm (revision 903517)
++++ lib/Mail/SpamAssassin/BayesStore/DBM.pm (working copy)
+@@ -1438,6 +1438,9 @@
+ # bayes directory
+ my $main = $self->{bayes}->{main};
+ my $path = $main->sed_path($main->{conf}->{bayes_path});
++
++ # prevent dirname() from tainting the result, it assumes $1 is not tainted
++ local($1,$2,$3); # Bug 6310
+ my $dir = dirname($path);
+
+ # make temporary copy since old dbm and new dbm may have same name
+
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-Conf.pm b/mail/p5-Mail-SpamAssassin/files/patch-Conf.pm
new file mode 100644
index 000000000000..639361d032ab
--- /dev/null
+++ b/mail/p5-Mail-SpamAssassin/files/patch-Conf.pm
@@ -0,0 +1,24 @@
+--- lib/Mail/SpamAssassin/Conf.pm (revision 903394)
++++ lib/Mail/SpamAssassin/Conf.pm (working copy)
+@@ -2156,8 +2156,8 @@
+ =item header SYMBOLIC_TEST_NAME exists:name_of_header
+
+ Define a header existence test. C<name_of_header> is the name of a
+-header to test for existence. This is just a very simple version of
+-the above header tests.
++header field to test for existence. This is just a very simple version
++of the above header tests.
+
+ =item header SYMBOLIC_TEST_NAME eval:name_of_eval_method([arguments])
+
+@@ -2280,7 +2280,8 @@
+ $self->{parser}->add_test ($name, $fn, $TYPE_HEAD_EVALS);
+ }
+ }
+- elsif ($value =~ /^(\S+)\s+exists:(.*)$/) {
++ elsif ($value =~ /^(\S+)\s+exists:([!-9;-\176]+)$/) {
++ # RFC 5322 section 3.6.8, ftext printable US-ASCII ch not including ":"
+ $self->{parser}->add_test ($1, "defined($2)", $TYPE_HEAD_TESTS);
+ $self->{descriptions}->{$1} = "Found a $2 header";
+ }
+
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-DCC.pm b/mail/p5-Mail-SpamAssassin/files/patch-DCC.pm
new file mode 100644
index 000000000000..54a1fe0bd8ba
--- /dev/null
+++ b/mail/p5-Mail-SpamAssassin/files/patch-DCC.pm
@@ -0,0 +1,21 @@
+--- lib/Mail/SpamAssassin/Plugin/DCC.pm (revision 905273)
++++ lib/Mail/SpamAssassin/Plugin/DCC.pm (working copy)
+@@ -679,7 +679,7 @@
+ my $left;
+ my $right;
+ my $timeout = $conf->{dcc_timeout};
+- my $opts = $conf->{dcc_options};
++ my $opts = $conf->{dccifd_options};
+ my @opts = !defined $opts ? () : split(' ',$opts);
+
+ $permsgstatus->enter_helper_run_mode();
+@@ -906,7 +906,7 @@
+ my $conf = $self->{main}->{conf};
+ my $timeout = $conf->{dcc_timeout};
+ # instead of header use whatever the report option is
+- my $opts = $conf->{dcc_options};
++ my $opts = $conf->{dccifd_options};
+ my @opts = !defined $opts ? () : split(' ',$opts);
+
+ $options->{report}->enter_helper_run_mode();
+
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-Message.pm b/mail/p5-Mail-SpamAssassin/files/patch-Message.pm
new file mode 100644
index 000000000000..216eb1cb1a27
--- /dev/null
+++ b/mail/p5-Mail-SpamAssassin/files/patch-Message.pm
@@ -0,0 +1,11 @@
+--- lib/Mail/SpamAssassin/Message.pm.orig 2010/01/29 15:48:09 904525
++++ lib/Mail/SpamAssassin/Message.pm 2010/01/29 15:48:29 904526
+@@ -114,6 +114,7 @@
+ $self->{pristine_body} = '';
+ $self->{mime_boundary_state} = {};
+ $self->{line_ending} = "\012";
++ $self->{master_deadline} = $opts->{'master_deadline'};
+ $self->{suppl_attrib} = $opts->{'suppl_attrib'};
+
+ bless($self,$class);
+
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm b/mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm
new file mode 100644
index 000000000000..6c05a2e5127a
--- /dev/null
+++ b/mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm
@@ -0,0 +1,51 @@
+--- lib/Mail/SpamAssassin.pm.orig 2010/01/29 15:48:09 904525
++++ lib/Mail/SpamAssassin.pm 2010/01/29 15:48:29 904526
+@@ -75,6 +75,7 @@
+ use Mail::SpamAssassin::Message;
+ use Mail::SpamAssassin::PluginHandler;
+ use Mail::SpamAssassin::DnsResolver;
++use Mail::SpamAssassin::Util qw(untaint_var);
+ use Mail::SpamAssassin::Util::ScopedTimer;
+
+ use Errno qw(ENOENT EACCES);
+@@ -490,20 +490,21 @@
+ $self->init(1);
+ my $timer = $self->time_method("parse");
+
+- my $msg = Mail::SpamAssassin::Message->new({
+- message=>$message, parsenow=>$parsenow,
+- normalize=>$self->{conf}->{normalize_charset},
+- suppl_attrib=>$suppl_attrib });
+-
++ my $master_deadline;
+ if (ref $suppl_attrib && exists $suppl_attrib->{master_deadline}) {
+- $msg->{master_deadline} = $suppl_attrib->{master_deadline}; # may be undef
++ $master_deadline = $suppl_attrib->{master_deadline}; # may be undef
+ } elsif ($self->{conf}->{time_limit}) { # defined and nonzero
+- $msg->{master_deadline} = $start_time + $self->{conf}->{time_limit};
++ $master_deadline = $start_time + $self->{conf}->{time_limit};
+ }
+- if (defined $msg->{master_deadline}) {
+- dbg("config: time limit %.1f s", $msg->{master_deadline} - $start_time);
++ if (defined $master_deadline) {
++ dbg("config: time limit %.1f s", $master_deadline - $start_time);
+ }
+
++ my $msg = Mail::SpamAssassin::Message->new({
++ message=>$message, parsenow=>$parsenow,
++ normalize=>$self->{conf}->{normalize_charset},
++ master_deadline=>$master_deadline, suppl_attrib=>$suppl_attrib });
++
+ # bug 5069: The goal here is to get rendering plugins to do things
+ # like OCR, convert doc and pdf to text, etc, though it could be anything
+
+@@ -1935,7 +1936,7 @@
+ close IN or die "error closing $defprefs: $!";
+
+ if (($< == 0) && ($> == 0) && defined($user)) { # chown it
+- my ($uid,$gid) = (getpwnam($user))[2,3];
++ my ($uid,$gid) = (getpwnam(untaint_var($user)))[2,3];
+ unless (chown($uid, $gid, $fname)) {
+ warn "config: couldn't chown $fname to $uid:$gid for $user: $!\n";
+ }
+
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm b/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm
index 2835b4e5b3e5..2b99114541d1 100644
--- a/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm
+++ b/mail/p5-Mail-SpamAssassin/files/patch-bayes.pm
@@ -1,10 +1,12 @@
---- Bayes.pm.orig 2008-06-10 05:20:22.000000000 -0400
-+++ lib/Mail/SpamAssassin/Bayes.pm 2008-08-22 03:23:38.000000000 -0400
-@@ -145,6 +145,7 @@
- # hapaxen they generate.
- $MARK_PRESENCE_ONLY_HDRS = qr{(?: X-Face
- |X-(?:Gnu-?PG|PGP|GPG)(?:-Key)?-Fingerprint
-+ |D(?:KIM|omainKey)-Signature
- )}ix;
+--- lib/Mail/SpamAssassin/Plugin/Bayes.pm 2010/01/26 12:13:41 903191
++++ lib/Mail/SpamAssassin/Plugin/Bayes.pm 2010/02/03 16:44:07 906120
+@@ -832,7 +832,7 @@
+ });
+
+ $permsgstatus->set_tag ('TOKENSUMMARY', sub {
+- if( defined $self->{tag_data}{BAYESTC} )
++ if ( defined $permsgstatus->{tag_data}{BAYESTC} )
+ {
+ my $tcount_neutral = $permsgstatus->{tag_data}{BAYESTCLEARNED}
+ - $permsgstatus->{tag_data}{BAYESTCSPAMMY}
- # tweaks tested as of Nov 18 2002 by jm: see SpamAssassin-devel list archives
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-sa-compile.raw b/mail/p5-Mail-SpamAssassin/files/patch-sa-compile.raw
deleted file mode 100644
index 5ed046abc2e1..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-sa-compile.raw
+++ /dev/null
@@ -1,29 +0,0 @@
---- sa-compile.raw.orig Tue Jun 10 05:21:07 2008
-+++ sa-compile.raw Thu Jun 12 17:28:56 2008
-@@ -682,9 +682,9 @@
- -p prefs, --prefspath=file, --prefs-file=file
- Set user preferences file
- --siteconfigpath=path Path for site configs
-- (default: /etc/mail/spamassassin)
-+ (default: @@LOCAL_RULES_DIR@@)
- --updatedir=path Directory to place updates
-- (default: /var/lib/spamassassin/compiled/<perlversion>/<version>)
-+ (default: @@LOCAL_STATE_DIR@@/compiled/<perlversion>/<version>)
- --cf='config line' Additional line of configuration
- -D, --debug [area=n,...] Print debugging messages
- -V, --version Print version
-@ -735,12 +735,12 @@
- =item B<-C> I<path>, B<--configpath>=I<path>, B<--config-file>=I<path>
-
- Use the specified path for locating the distributed configuration files.
--Ignore the default directories (usually C</usr/share/spamassassin> or similar).
-+Ignore the default directories (usually C<@@DEF_RULES_DIR@@> or similar).
-
- =item B<--siteconfigpath>=I<path>
-
- Use the specified path for locating site-specific configuration files. Ignore
--the default directories (usually C</etc/mail/spamassassin> or similar).
-+the default directories (usually C<@@LOCAL_RULES_DIR@@> or similar).
-
- =item B<--updatedir>
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-spamassassin.raw b/mail/p5-Mail-SpamAssassin/files/patch-spamassassin.raw
deleted file mode 100644
index c2300b8d4a04..000000000000
--- a/mail/p5-Mail-SpamAssassin/files/patch-spamassassin.raw
+++ /dev/null
@@ -1,12 +0,0 @@
---- spamassassin.raw.orig 2009-05-14 20:48:01.000000000 -0500
-+++ spamassassin.raw 2009-05-14 20:48:19.000000000 -0500
-@@ -530,7 +530,7 @@
- $mail->finish(); # bug 5626: remove temp files etc.
- $mail = undef;
- }
-- exit 0;
-+ exit 15;
- }
-
- # ---------------------------------------------------------------------------
-
diff --git a/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw b/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw
index 414efc7b2141..23f6f8c36735 100644
--- a/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw
+++ b/mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw
@@ -1,11 +1,52 @@
--- spamd/spamd.raw.orig 2008-04-24 09:50:46.000000000 +0200
+++ spamd/spamd.raw 2008-04-24 09:52:55.000000000 +0200
-@@ -2075,7 +2075,7 @@
- if ( $opt{'user-config'} ) {
- my $prefsfrom = $username; # the one passed, NOT $opt{username}
-
-- if ($prefsfrom eq $suidto) {
-+ if ($prefsfrom eq $suidto || $opt{'vpopmail'}) {
- $userdir = $suiddir; # reuse the already-looked-up info
- } else {
- $userdir = (getpwnam($prefsfrom))[7];
+@@ -1381,8 +1381,9 @@
+
+ # Now parse *only* the message headers; the MIME tree won't be generated
+ # yet, it will be done on demand later on.
+- my $mail = $spamtest->parse(\@msglines, 0, !$timeout_child ? () :
+- { master_deadline => $start_time + $timeout_child } );
++ my $mail = $spamtest->parse(\@msglines, 0,
++ !$timeout_child || !$start_time ? ()
++ : { master_deadline => $start_time + $timeout_child } );
+
+ return ($mail, $actual_length);
+ }
+@@ -1705,8 +1706,9 @@
+ my $resp = "EX_OK";
+
+ # generate mail object from input
+- my ($mail, $actual_length) = parse_body($client, $expected_length,
+- $compress_zlib);
++ my($mail, $actual_length) =
++ parse_body($client, $expected_length, $compress_zlib, $start_time);
++
+ return 0 unless defined($mail); # error
+
+ if ($compress_zlib) {
+@@ -2276,8 +2276,14 @@
+
+ sub handle_user_setuid_with_sql {
+ my $username = shift;
++
++ # Bug 6313: interestingly, if $username is not tainted than $pwd, $gcos and
++ # $etc end up tainted but other fields not; if $username _is_ tainted,
++ # getpwnam does not complain, but all returned fields are tainted (which
++ # makes sense, but is worth remembering)
++ #
+ my ($name, $pwd, $uid, $gid, $quota, $comment, $gcos, $dir, $etc) =
+- getpwnam($username);
++ getpwnam(untaint_var($username));
+
+ if (!$spamtest->{'paranoid'} && !defined($uid)) {
+ # if we are given a username, but can't look it up, maybe name
+@@ -2300,7 +2306,7 @@
+ }
+
+ my $spam_conf_dir = $dir . '/.spamassassin'; # needed for Bayes, etc.
+- if (! -d $spam_conf_dir) {
++ if ($opt{'user-config'} && ! -d $spam_conf_dir) {
+ if (mkdir $spam_conf_dir, 0700) {
+ info("spamd: created $spam_conf_dir for $username");
+ }
+
diff --git a/mail/p5-Mail-SpamAssassin/pkg-install b/mail/p5-Mail-SpamAssassin/pkg-install
index 92b3dabfe6fa..18c2b203891a 100644
--- a/mail/p5-Mail-SpamAssassin/pkg-install
+++ b/mail/p5-Mail-SpamAssassin/pkg-install
@@ -1,6 +1,7 @@
#!/bin/sh
PKG_PREFIX=${PKG_PREFIX:-/usr/local}
+if [ "$2" = "POST-INSTALL" ];then
ask() {
local question default answer
@@ -27,20 +28,14 @@ yesno() {
done
}
-if [ "$2" = "POST-INSTALL" ];then
if yesno "Do you wish to run sa-update to fetch new rules" "N";then
- ${PKG_PREFIX}/bin/sa-update
- if [ $? -eq 4 ];then
- # rc=4 means host not found, might be old mirrors.
- rm -rf /var/db/spamassassin/3*/updates_spamassassin_org/MIRRORED.BY
- ${PKG_PREFIX}/bin/sa-update
- fi
+ ${PKG_PREFIX}/bin/sa-update || true
fi
grep '^load.*Rule2XSBody' ${PKG_PREFIX}/etc/mail/spamassassin/v320.pre > /dev/null
if [ $? -eq 0 ];then
if yesno "Do you wish to compile rules with re2c (will take a long time)" "N";then
- ${PKG_PREFIX}/bin/sa-compile
+ ${PKG_PREFIX}/bin/sa-compile || true
fi
fi
exit 0
diff --git a/mail/p5-Mail-SpamAssassin/pkg-message b/mail/p5-Mail-SpamAssassin/pkg-message
index 24d76aab8d3a..d4693ba9acab 100644
--- a/mail/p5-Mail-SpamAssassin/pkg-message
+++ b/mail/p5-Mail-SpamAssassin/pkg-message
@@ -21,10 +21,10 @@
*************************************************************************
You may wish to run sa-update now to obtain the latest rules.
-NOTE: FREEBSD users: If you are updating to 3.20 you will find
-that sa-update now places state files in /var/db/spamassassin
-and not the default /var/lib/spamassassin. This is to be consistant
-with Freebsd file directory conventions
+NOTE: FREEBSD users: If you are updating from a version prior to 3.20.
+sa-update now places state files in /var/db/spamassassin and not
+/var/lib/spamassassin. This is to be consistant with Freebsd file
+directory conventions.
If you run sa-compile, you will notice that files are in
/var/db/spamassassin/compiled/<perlversion>/<version> instead of
diff --git a/mail/p5-Mail-SpamAssassin/pkg-plist b/mail/p5-Mail-SpamAssassin/pkg-plist
index 5523fb934018..85f993f5e27a 100644
--- a/mail/p5-Mail-SpamAssassin/pkg-plist
+++ b/mail/p5-Mail-SpamAssassin/pkg-plist
@@ -20,6 +20,9 @@ etc/mail/spamassassin/v312.pre.sample
@unexec if cmp -s %B/v320.pre.sample %B/v320.pre; then rm -f %B/v320.pre; fi
etc/mail/spamassassin/v320.pre.sample
@exec [ -f %B/v320.pre ] || cp %B/%f %B/v320.pre
+@unexec if cmp -s %B/v330.pre.sample %B/v330.pre; then rm -f %B/v330.pre;fi
+etc/mail/spamassassin/v330.pre.sample
+@exec [ -f %B/v330.pre ] || cp %B/%f %B/v330.pre
include/libspamc.h
lib/libspamc.so
lib/libspamc.so.0
@@ -34,6 +37,7 @@ lib/libspamc.so.0
%%SITE_PERL%%/Mail/SpamAssassin/Bayes/CombineChi.pm
%%SITE_PERL%%/Mail/SpamAssassin/Bayes/CombineNaiveBayes.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore.pm
+%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/BDB.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/DBM.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/MySQL.pm
%%SITE_PERL%%/Mail/SpamAssassin/BayesStore/PgSQL.pm
@@ -80,7 +84,7 @@ lib/libspamc.so.0
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DCC.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DKIM.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DNSEval.pm
-%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DomainKeys.pm
+%%SITE_PERL%%/Mail/SpamAssassin/Plugin/FreeMail.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTMLEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTTPSMismatch.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Hashcash.pm
@@ -89,11 +93,13 @@ lib/libspamc.so.0
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/MIMEEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/MIMEHeader.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/OneLineBodyRuleType.pm
+%%SITE_PERL%%/Mail/SpamAssassin/Plugin/PhishTag.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Pyzor.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Razor2.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayCountry.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayEval.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ReplaceTags.pm
+%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Reuse.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Rule2XSBody.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/SPF.pm
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Shortcircuit.pm
@@ -116,57 +122,10 @@ lib/libspamc.so.0
%%SITE_PERL%%/Mail/SpamAssassin/Util/DependencyInfo.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/Progress.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/RegistrarBoundaries.pm
+%%SITE_PERL%%/Mail/SpamAssassin/Util/ScopedTimer.pm
%%SITE_PERL%%/Mail/SpamAssassin/Util/TieOneStringHash.pm
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Mail/SpamAssassin/.packlist
%%SITE_PERL%%/spamassassin-run.pod
-%%DATADIR%%/10_default_prefs.cf
-%%DATADIR%%/20_advance_fee.cf
-%%DATADIR%%/20_body_tests.cf
-%%DATADIR%%/20_compensate.cf
-%%DATADIR%%/20_dnsbl_tests.cf
-%%DATADIR%%/20_drugs.cf
-%%DATADIR%%/20_dynrdns.cf
-%%DATADIR%%/20_fake_helo_tests.cf
-%%DATADIR%%/20_head_tests.cf
-%%DATADIR%%/20_html_tests.cf
-%%DATADIR%%/20_imageinfo.cf
-%%DATADIR%%/20_meta_tests.cf
-%%DATADIR%%/20_net_tests.cf
-%%DATADIR%%/20_phrases.cf
-%%DATADIR%%/20_porn.cf
-%%DATADIR%%/20_ratware.cf
-%%DATADIR%%/20_uri_tests.cf
-%%DATADIR%%/20_vbounce.cf
-%%DATADIR%%/23_bayes.cf
-%%DATADIR%%/25_accessdb.cf
-%%DATADIR%%/25_antivirus.cf
-%%DATADIR%%/25_asn.cf
-%%DATADIR%%/25_dcc.cf
-%%DATADIR%%/25_dkim.cf
-%%DATADIR%%/25_domainkeys.cf
-%%DATADIR%%/25_hashcash.cf
-%%DATADIR%%/25_pyzor.cf
-%%DATADIR%%/25_razor2.cf
-%%DATADIR%%/25_replace.cf
-%%DATADIR%%/25_spf.cf
-%%DATADIR%%/25_textcat.cf
-%%DATADIR%%/25_uribl.cf
-%%DATADIR%%/30_text_de.cf
-%%DATADIR%%/30_text_fr.cf
-%%DATADIR%%/30_text_it.cf
-%%DATADIR%%/30_text_nl.cf
-%%DATADIR%%/30_text_pl.cf
-%%DATADIR%%/30_text_pt_br.cf
-%%DATADIR%%/50_scores.cf
-%%DATADIR%%/60_awl.cf
-%%DATADIR%%/60_shortcircuit.cf
-%%DATADIR%%/60_whitelist.cf
-%%DATADIR%%/60_whitelist_dk.cf
-%%DATADIR%%/60_whitelist_dkim.cf
-%%DATADIR%%/60_whitelist_spf.cf
-%%DATADIR%%/60_whitelist_subject.cf
-%%DATADIR%%/72_active.cf
-%%DATADIR%%/72_removed.cf
%%DATADIR%%/languages
%%DATADIR%%/sa-update-pubkey.txt
%%DATADIR%%/user_prefs.template