diff options
author | gabor <gabor@FreeBSD.org> | 2010-02-10 17:06:08 +0800 |
---|---|---|
committer | gabor <gabor@FreeBSD.org> | 2010-02-10 17:06:08 +0800 |
commit | feb11c72300dfc9bb9be94c3f26c454f645d880d (patch) | |
tree | 6228d964d8b606052ae4ad3adc46d5e791d82323 /mail/p5-Mail-SpamAssassin | |
parent | 9ed37f06b6b3184e3e05efbf651335879f8a897d (diff) | |
download | freebsd-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/Makefile | 52 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/distinfo | 6 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-BayesStore-DBM.pm | 13 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-Conf.pm | 24 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-DCC.pm | 21 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-Message.pm | 11 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-SpamAssassin.pm | 51 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-bayes.pm | 20 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-sa-compile.raw | 29 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-spamassassin.raw | 12 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/files/patch-spamd_spamd.raw | 59 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/pkg-install | 11 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/pkg-message | 8 | ||||
-rw-r--r-- | mail/p5-Mail-SpamAssassin/pkg-plist | 57 |
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 |