Index: head/japanese/spamassassin/Makefile =================================================================== --- head/japanese/spamassassin/Makefile (revision 385002) +++ head/japanese/spamassassin/Makefile (revision 385003) @@ -1,35 +1,37 @@ # Created by: TAOKA Fumiyoshi # $FreeBSD$ -PORTREVISION= 14 +PORTREVISION= 0 CATEGORIES= japanese mail perl5 PKGNAMEPREFIX= ja- MAINTAINER= masaki@club.kyutech.ac.jp COMMENT= SpamAssassin with patches to handle multibyte character LICENSE= APACHE20 MASTERDIR= ${.CURDIR}/../../mail/spamassassin BUILD_DEPENDS= ja-p5-MeCab>=0.98:${PORTSDIR}/japanese/p5-MeCab CONFLICTS= spamassassin-[0-9]* EXTRA_PATCHES= ${.CURDIR}/files/spamassassin-ja.patch PKGMESSAGE= ${.CURDIR}/pkg-message PLIST= ${WRKDIR}/pkg-plist TOKENIZER_PRE= tokenizer.pre PLIST_SUB+= TOKENIZER_PRE=${TOKENIZER_PRE} + +BROKEN= Requires update for 3.4.1 pre-install: @${CAT} ${EXTRA_PATCHES:S/.patch/.plist/} > ${PLIST} @${CAT} ${PKGDIR}/pkg-plist >> ${PLIST} post-install:: ${INSTALL_DATA} ${.CURDIR}/files/${TOKENIZER_PRE} ${STAGEDIR}${ETCDIR}/${TOKENIZER_PRE}.sample .include "${MASTERDIR}/Makefile" Index: head/mail/spamassassin/Makefile =================================================================== --- head/mail/spamassassin/Makefile (revision 385002) +++ head/mail/spamassassin/Makefile (revision 385003) @@ -1,187 +1,183 @@ # Created by: Anthony Kim # $FreeBSD$ PORTNAME= spamassassin -PORTVERSION= 3.4.0 -PORTREVISION?= 17 # also bump japanese/spamassassin +PORTVERSION= 3.4.1 +PORTREVISION?= 0 # also bump japanese/spamassassin CATEGORIES?= mail perl5 MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/} MASTER_SITE_SUBDIR= spamassassin/source/:apache Mail/:cpan DISTNAME= Mail-SpamAssassin-${PORTVERSION} DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:apache,cpan MAINTAINER?= adamw@FreeBSD.org COMMENT?= Highly efficient mail filter for identifying spam LICENSE= APACHE20 -ALL_DEPENDS= p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \ +BUILD_DEPENDS= p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \ p5-HTML-Parser>=3.46:${PORTSDIR}/www/p5-HTML-Parser \ p5-HTTP-Date>=0:${PORTSDIR}/www/p5-HTTP-Date \ p5-IO-Socket-IP>=0:${PORTSDIR}/net/p5-IO-Socket-IP \ p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \ p5-NetAddr-IP>=4.010:${PORTSDIR}/net-mgmt/p5-NetAddr-IP -BUILD_DEPENDS= ${ALL_DEPENDS} -RUN_DEPENDS= ${ALL_DEPENDS} \ +RUN_DEPENDS:= ${BUILD_DEPENDS} \ re2c>=.12.0:${PORTSDIR}/devel/re2c CONFLICTS?= ja-spamassassin-[0-9]* CPE_VENDOR= apache USES= perl5 cpe USE_PERL5= configure USE_LDCONFIG= yes DATADIR= ${PREFIX}/share/spamassassin DBDIR?= /var/db DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME} ETCDIR?= ${PREFIX}/etc/mail/spamassassin SPAMASSASSIN_CONTACT_ADDRESS?= The administrator of that system USERS?= spamd GROUPS?= spamd CONFIGURE_ARGS= SYSCONFDIR="${PREFIX}/etc" \ CONTACT_ADDRESS="${SPAMASSASSIN_CONTACT_ADDRESS}" \ LOCALSTATEDIR="${DBDIR}/spamassassin" \ BUILD_SPAMC=yes OPTIONS_DEFINE= AS_ROOT SSL UPDATE_AND_COMPILE OPTIONS_GROUP= DATABASE GPG PLUGINS OPTIONS_GROUP_DATABASE= MYSQL PGSQL OPTIONS_GROUP_PLUGINS= DCC DKIM PYZOR RAZOR RELAY_COUNTRY SPF_QUERY OPTIONS_SINGLE= GPG OPTIONS_SINGLE_GPG= GNUPG_NONE GNUPG GNUPG2 OPTIONS_DEFAULT= AS_ROOT GNUPG SSL UPDATE_AND_COMPILE AS_ROOT_DESC= Run spamd as root (recommended) SSL_DESC= Build spamd/spamc with SSL support UPDATE_AND_COMPILE_DESC=Download and compile rulesets (recommended) DATABASE_DESC= Optional user-config/bayes database backends GPG_DESC= GnuPG (for sa-update, optional) GNUPG_NONE_DESC= Do not use GnuPG GNUPG_DESC= GnuPG 1 (security/gnupg1) GNUPG2_DESC= GnuPG 2 (security/gnupg) PLUGINS_DESC= Optional SpamAssassin plugins DCC_DESC= DCC digest list support (mail/dcc-dccd) DKIM_DESC= Verify DKIM records (mail/p5-Mail-DKIM) PYZOR_DESC= Pyzor digest list support (mail/pyzor) RAZOR_DESC= Vipul's Razor digest list support (mail/razor-agents) RELAY_COUNTRY_DESC= Location-based scoring (net/p5-Geo-IP) SPF_QUERY_DESC= Verify SPF records (mail/p5-Mail-SPF) SUB_FILES= pkg-message SUB_LIST+= SPAMD_OWN="${USERS}:${GROUPS}" PLIST_SUB+= USER=${USERS} GROUP=${GROUPS} OPTIONS_SUB= yes DCC_RUN_DEPENDS= dcc-dccd>=1.3.111:${PORTSDIR}/mail/dcc-dccd DKIM_RUN_DEPENDS= p5-IO-Socket-SSL>=0:${PORTSDIR}/security/p5-IO-Socket-SSL \ p5-Mail-DKIM>=0.37:${PORTSDIR}/mail/p5-Mail-DKIM \ p5-Crypt-OpenSSL-RSA>=0.26_1:${PORTSDIR}/security/p5-Crypt-OpenSSL-RSA GNUPG_RUN_DEPENDS= gnupg1>=1.4.7:${PORTSDIR}/security/gnupg1 GNUPG2_RUN_DEPENDS= gpg2:${PORTSDIR}/security/gnupg MYSQL_RUN_DEPENDS= p5-DBD-mysql>=0:${PORTSDIR}/databases/p5-DBD-mysql PGSQL_RUN_DEPENDS= p5-DBD-Pg>=0:${PORTSDIR}/databases/p5-DBD-Pg PYZOR_RUN_DEPENDS= pyzor:${PORTSDIR}/mail/pyzor RAZOR_RUN_DEPENDS= razor-agents>=2.84:${PORTSDIR}/mail/razor-agents RELAY_COUNTRY_RUN_DEPENDS= p5-Geo-IP>=0:${PORTSDIR}/net/p5-Geo-IP SPF_QUERY_RUN_DEPENDS= p5-Mail-SPF>=0:${PORTSDIR}/mail/p5-Mail-SPF SSL_USE= OPENSSL=yes SSL_RUN_DEPENDS= p5-IO-Socket-SSL>=0:${PORTSDIR}/security/p5-IO-Socket-SSL SSL_CONFIGURE_ON= ENABLE_SSL=yes SSL_CONFIGURE_OFF= ENABLE_SSL=no # plugin names in rules/*.pre, for enabling/disabling DCC_INITVAR= DCC DKIM_INITVAR= DKIM PYZOR_INITVAR= Pyzor RAZOR_INITVAR= Razor2 RELAY_COUNTRY_INITVAR= RelayCountry SPF_QUERY_INITVAR= SPF UPDATE_AND_COMPILE_INITVAR= Rule2XSBody -DOCS= CREDITS Changes INSTALL NOTICE PACKAGING README TRADEMARK UPGRADE USAGE procmailrc.example 3.4.0-RELEASE-NOTES.txt +DOCS= CREDITS Changes INSTALL NOTICE PACKAGING README TRADEMARK UPGRADE USAGE procmailrc.example DOCSSQL= README README.awl README.bayes awl_mysql.sql awl_pg.sql bayes_mysql.sql bayes_pg.sql userpref_mysql.sql userpref_pg.sql DOCSLDAP= README README.testing sa_test.ldif PORTDOCS= ${DOCS} sql ldap USE_RC_SUBR= sa-spamd ALL_TARGET= all spamc/libspamc.so .include .if ${PORT_OPTIONS:MSSL} CFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} ALL_TARGET+= spamc/libsslspamc.so .endif .if ${PORT_OPTIONS:MMYSQL} || ${PORT_OPTIONS:MPGSQL} SUB_LIST+= SQL_FLAG="-Q" .else SUB_LIST+= SQL_FLAG="" .endif .if empty(PORT_OPTIONS:MAS_ROOT) SUB_LIST+= RUN_AS_USER="-u ${USERS} -H /var/spool/spamd" .else SUB_LIST+= RUN_AS_USER="" .endif .if ${PORT_OPTIONS:MUPDATE_AND_COMPILE} && empty(PACKAGE_BUILDING) && empty(BATCH) PLIST_SUB+= UPDATE_ON_INSTALL="yes" .else PLIST_SUB+= UPDATE_ON_INSTALL="no" .endif post-patch:: - # The 3.4.0 release notes never made it into the tarball - ${INSTALL_DATA} ${FILESDIR}/3.4.0-RELEASE-NOTES.txt ${WRKSRC} - ${REINPLACE_CMD} -e 's,%%DOCSDIR%%,${DOCSDIR},' ${WRKSRC}/UPGRADE - ${REINPLACE_CMD} -e 's,B_CONFDIR)/local.cf,B_CONFDIR)/local.cf.sample,g' \ -e 's,B_CONFDIR)/init.pre,B_CONFDIR)/init.pre.sample,g' \ -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,B_CONFDIR)/v340.pre,B_CONFDIR)/v340.pre.sample,g' \ + -e 's,B_CONFDIR)/v341.pre,B_CONFDIR)/v341.pre.sample,g' \ -e 's/require DBI/0/' \ ${WRKSRC}/Makefile.PL ${REINPLACE_CMD} -e '/^CC =/d; \ s|@SSLCFLAGS@|& $${CFLAGS}|g' ${WRKSRC}/spamc/Makefile.in .for var in ${OPTIONS_GROUP_PLUGINS} UPDATE_AND_COMPILE . if ${PORT_OPTIONS:M${var}} ${REINPLACE_CMD} -e '/${${var}_INITVAR}/s/^\#.*loadplugin/loadplugin/' ${WRKSRC}/rules/*.pre . else ${REINPLACE_CMD} -e '/${${var}_INITVAR}/s/^loadplugin/\# loadplugin/' ${WRKSRC}/rules/*.pre . endif .endfor - ${FIND} ${WRKSRC} -name '*.orig' -or -name '*.bak' | ${XARGS} ${RM} + ${FIND} ${WRKSRC} -name '*.orig' -or -name '*.bak' -delete pre-su-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_LIB} ${WRKSRC}/spamc/libspamc.so ${STAGEDIR}${PREFIX}/lib/libspamc.so.0 ${LN} -sf libspamc.so.0 ${STAGEDIR}${PREFIX}/lib/libspamc.so .if ${PORT_OPTIONS:MSSL} ${INSTALL_LIB} ${WRKSRC}/spamc/libsslspamc.so ${STAGEDIR}${PREFIX}/lib/libsslspamc.so.0 ${LN} -sf libsslspamc.so.0 ${STAGEDIR}${PREFIX}/lib/libsslspamc.so .endif ${INSTALL_DATA} ${WRKSRC}/spamc/libspamc.h ${STAGEDIR}${PREFIX}/include post-install:: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/spamc @${MKDIR} ${STAGEDIR}/var/lib/spamassassin ${STAGEDIR}${DBDIR}/spamassassin ${STAGEDIR}/var/run/spamd @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${DOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${COPYTREE_SHARE} "sql ldap" ${STAGEDIR}${DOCSDIR}) .include Index: head/mail/spamassassin/distinfo =================================================================== --- head/mail/spamassassin/distinfo (revision 385002) +++ head/mail/spamassassin/distinfo (revision 385003) @@ -1,2 +1,2 @@ -SHA256 (Mail-SpamAssassin-3.4.0.tar.gz) = 244914c30976844878a7f129fd503eb40986c68a3800f416c3a68b14507c0a64 -SIZE (Mail-SpamAssassin-3.4.0.tar.gz) = 1269753 +SHA256 (Mail-SpamAssassin-3.4.1.tar.gz) = 9b7a95a594cdca4f265707364478b57813b82a0ec7e520d9bc818bfbcafdd726 +SIZE (Mail-SpamAssassin-3.4.1.tar.gz) = 3174888 Index: head/mail/spamassassin/files/patch-bug7065 =================================================================== --- head/mail/spamassassin/files/patch-bug7065 (revision 385002) +++ head/mail/spamassassin/files/patch-bug7065 (nonexistent) @@ -1,11 +0,0 @@ ---- lib/Mail/SpamAssassin/BayesStore/DBM.pm.orig 2014-07-06 08:33:29.000000000 -0400 -+++ lib/Mail/SpamAssassin/BayesStore/DBM.pm 2014-07-06 08:35:04.000000000 -0400 -@@ -812,7 +812,7 @@ - return 0 if ($conf->{bayes_journal_max_size} == 0); - - my @vars = $self->get_storage_variables(); -- dbg("bayes: DB journal sync: last sync: ".$vars[7],'bayes','-1'); -+ dbg("bayes: DB journal sync: last sync: %s", $vars[7]); - - ## Ok, should we do a sync? - Property changes on: head/mail/spamassassin/files/patch-bug7065 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/spamassassin/files/patch-UPGRADE =================================================================== --- head/mail/spamassassin/files/patch-UPGRADE (revision 385002) +++ head/mail/spamassassin/files/patch-UPGRADE (nonexistent) @@ -1,12 +0,0 @@ ---- UPGRADE.orig 2014/02/11 16:54:00 1567218 -+++ UPGRADE 2014/02/11 16:55:08 1567219 -@@ -1,3 +1,9 @@ -+Note for Users Upgrading to SpamAssassin 3.4.0 -+---------------------------------------------- -+- Please see the Announcement file at: -+ http://svn.apache.org/repos/asf/spamassassin/branches/3.4/build/announcements/3.4.0.txt -+ or %%DOCSDIR%%/3.4.0-RELEASE-NOTES.txt -+ - Note for Users Upgrading to SpamAssassin 3.3.0 - ----------------------------------------------- - Property changes on: head/mail/spamassassin/files/patch-UPGRADE ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/spamassassin/files/patch-bug7057 =================================================================== --- head/mail/spamassassin/files/patch-bug7057 (revision 385002) +++ head/mail/spamassassin/files/patch-bug7057 (nonexistent) @@ -1,15 +0,0 @@ ---- lib/Mail/SpamAssassin/DnsResolver.pm.orig 2014/06/18 16:47:04 1603517 -+++ lib/Mail/SpamAssassin/DnsResolver.pm 2014/06/18 16:48:04 1603518 -@@ -204,8 +204,10 @@ - @ns_addr_port = @{$self->{conf}->{dns_servers}}; - dbg("dns: servers set by config to: %s", join(', ',@ns_addr_port)); - } elsif ($res) { # default as provided by Net::DNS, e.g. /etc/resolv.conf -- @ns_addr_port = map(untaint_var("[$_]:" . $res->{port}), -- @{$res->{nameservers}}); -+ my @ns = $res->UNIVERSAL::can('nameservers') ? $res->nameservers -+ : @{$res->{nameservers}}; -+ my $port = $res->UNIVERSAL::can('port') ? $res->port : $res->{port}; -+ @ns_addr_port = map(untaint_var("[$_]:" . $port), @ns); - dbg("dns: servers obtained from Net::DNS : %s", join(', ',@ns_addr_port)); - } - return @ns_addr_port; Property changes on: head/mail/spamassassin/files/patch-bug7057 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/spamassassin/files/patch-bug7107 =================================================================== --- head/mail/spamassassin/files/patch-bug7107 (revision 385002) +++ head/mail/spamassassin/files/patch-bug7107 (nonexistent) @@ -1,35 +0,0 @@ ---- lib/Mail/SpamAssassin/Conf/Parser.pm 2014/11/27 18:51:04 1642206 -+++ lib/Mail/SpamAssassin/Conf/Parser.pm 2014/11/27 18:54:32 1642207 -@@ -533,6 +533,9 @@ - elsif ($token eq 'version') { - $eval .= $Mail::SpamAssassin::VERSION." "; - } -+ elsif ($token eq 'perl_version') { -+ $eval .= $]." "; -+ } - elsif ($token =~ /^\w[\w\:]+$/) { # class name - my $u = untaint_var($token); - $eval .= '"' . $u . '" '; ---- lib/Mail/SpamAssassin/Conf.pm 2014/11/27 18:51:04 1642206 -+++ lib/Mail/SpamAssassin/Conf.pm 2014/11/27 18:54:32 1642207 -@@ -3886,6 +3886,20 @@ - version, and z is maintenance version. So 3.0.0 is C<3.000000>, and 3.4.80 is - C<3.004080>. - -+=item perl_version -+ -+This will be replaced with the version number of the currently-running -+perl engine. Note: The version used is in the $] version format which is -+C, where x is major version, y is minor version, and z is maintenance -+version. So 5.8.8 is C<5.008008>, and 5.10.0 is C<5.010000>. Use to protect rules -+that incorporate RE syntax elements introduced in later versions of perl, such -+as the C<++> non-backtracking match. For example: -+ -+ # Avoid lint error on older perl installs -+ if perl_version >= 5.010000 -+ body INVALID_RE_SYNTAX_IN_PERL_5_8_8 /\w++/ -+ endif -+ - =item plugin(Name::Of::Plugin) - - This is a function call that returns C<1> if the plugin named Property changes on: head/mail/spamassassin/files/patch-bug7107 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/spamassassin/files/patch-bug7018 =================================================================== --- head/mail/spamassassin/files/patch-bug7018 (revision 385002) +++ head/mail/spamassassin/files/patch-bug7018 (nonexistent) @@ -1,11 +0,0 @@ ---- lib/Mail/SpamAssassin/Plugin/Razor2.pm.orig 2014/02/27 00:44:06 1572368 -+++ lib/Mail/SpamAssassin/Plugin/Razor2.pm 2014/02/27 00:50:42 1572369 -@@ -115,7 +115,7 @@ - setting => 'razor_timeout', - is_admin => 1, - default => 5, -- type => $Mail::SpamAssassin::Conf::CONF_TYPE_DURATIION, -+ type => $Mail::SpamAssassin::Conf::CONF_TYPE_DURATION, - }); - - =item razor_config filename Property changes on: head/mail/spamassassin/files/patch-bug7018 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/spamassassin/files/3.4.0-RELEASE-NOTES.txt =================================================================== --- head/mail/spamassassin/files/3.4.0-RELEASE-NOTES.txt (revision 385002) +++ head/mail/spamassassin/files/3.4.0-RELEASE-NOTES.txt (nonexistent) @@ -1,461 +0,0 @@ -To: users, dev, announce -Subject: ANNOUNCE: Apache SpamAssassin 3.4.0 available - -Release Notes -- Apache SpamAssassin -- Version 3.4.0 - -Introduction ------------- - -This is a major release. It introduces over two years of bug fixes and -features since the release of SpamAssassin 3.3.2 on June 16, 2011. -3.4.0 includes the Bayes Redis (http://redis.io/) back-end (bug 6879), -EDNS0 changes (bug 6910), native IPv6 support, numerous URIBL.pm changes -or features and a small API change in libspamc (bug 6562) with many other -subtle changes. - -SpamAssassin was tested on perl 5.18.2, and (out of curiosity) also -on a Raspberry Pi (ARM6, Raspbian / Debian 7.2 Wheezy, perl 5.14.2) -... yes, it is 20 times slower compared to i7-960 CPU, but all tests -pass! - -Overall, this release has been tested on many production-level -environments for nearly a year, including testing on an IPv6-only host. -It is highly recommended and stable. - -NOTE: Complete changes are available at -http://svn.apache.org/repos/asf/spamassassin/branches/3.4/Changes - - -Notable Sendmail Bug --------------------- - -Sendmail 8.14.5 and below contain a canonicalization misfeature / bug -that can cause DKIM failures. -See https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6462. - - -Compatibility with version 3.3.2 --------------------------------- - -* DNS queries generated by SpamAssassin now enable option EDNS0 in query -packets and specify a buffer size of 4096 bytes by default. This allows -DNS replies larger than 512 bytes to be returned in one UDP datagram, -avoiding a need for re-issuing a failed query over a TCP protocol. This -default setting is well suited if a DNS resolver (i.e. a recursive DNS -server) is located on the same LAN as a host running SpamAssassin, which -is the usual setup for all but perhaps some home uses of SpamAssassin. - -The option should be disabled (by 'dns_options noedns0') when a recursive -DNS server is only reachable through some old-fashioned firewall or through -some picky router with deep packet inspection which bans DNS UDP messages -larger than 512 bytes, or blocks fragmented UDP datagrams. - -The 'dns_options' setting is documented in Mail::SpamAssassin::Conf POD -or man page, more details in bug 6910 and bug 6862. - - -* A default setting for option 'dns_available' was changed from 'test' to -'yes' (bug 6770, bug 6769), so SpamAssassin now assumes by default that -it is running on a host with an internet connection and a working DNS -resolver. If this is not the case, please configure this option explicitly. - -The change avoids surprises on an otherwise well connected host which may -experience a temporary DNS unavailability at the system startup time or a -temporary network outage when spamd was starting, and the initial failed -test would disable DNS queries permanently. The option is documented in -the Mail::SpamAssassin::Conf POD or man page. - - -* When Bayes classification is in use and messages are 'learned' as spam -or ham and stored in a database, the Bayes plugin generates internal -message IDs of learned messages and stores them in a 'seen' database to -avoid re-learning duplicates and accidental un-learning messages that -were not previously learned. With changes in bug 5185, the calculation -of message IDs in a bayes 'seen' database has changed, so new code can -no longer associate new messages with those learned before the change. - -Note that this change does not affect recognition of old tokens and the -classification algorithm, only duplicate detection and unlearning of old -messages is affected. - -Because of this change, if you use Bayes and you are upgrading from a -version prior to 3.4.0, you may consider wiping your Bayes database -and starting fresh. - -However, this is not mandatory. If you choose to keep your current -database tokens, these are the ramifications: - -1 - If you re-process emails that have already been learned before, - it will create duplicate entries because of the new msg_id format. - The duplicates will expire, eventually, and should cause minimal - impact unless it occurs frequently. - -2 - If you try and unlearn or reclassify an email processed prior to the - upgrade, the system will be unable to do so because of the new msg_id - format. If unlearning a message (that was learned before the change) - is important, consider just clearing your Bayes store and starting - from scratch. - - -Dependency changes since version 3.3.2 --------------------------------------- - -Dependency on the following Perl modules were dropped: Net::Ident, -IP::Country::Fast and IP::Country. - -Dependency on a perl module LWP::UserAgent as used by sa-update is now -made optional if any of programs curl, wget, or fetch are available. - -New optional dependencies on the following Perl modules were introduced: - -- new optional dependency on Geo::IP in a RelayCountry plugin (bug 6599); - for backward compatibility IP::Country::Fast is used if Geo::IP is - not installed - -- new optional dependency on IO::Socket::IP for a cleaner IP support - regardless of a protocol family (IPv4 and IPv6) - -- new optional dependency on Net::Patricia to speed up lookups on - internal_networks, trusted_networks or msa_networks when these lists - contain a larger number of entries - -- new optional dependency on programs curl, wget, or a FreeBSD fetch. - sa-update will use any of these external programs to download rule - updates, either over IPv6 or over IPv4. Any of these three programs - suffices - the installation procedure is currently unclear on this, - its warning may be understood as if all three programs are needed, - which is not the case - -- minimal required version of NetAddr::IP was bumped to 4.010 - - -Internal changes potentially affecting third party software -using Mail::SpamAssassin library ------------------------------------------------------------ - -A caller is now given a choice of calling srand() by itself (e.g. before -forking) or let a SpamAssassin library do it as before. Avoiding redundant -initialization of a perl's random number generator can prevent unnecessary -entropy loss. It is controlled by option skip_prng_reseeding in a call -to Mail::SpamAssassin::new(). The change was documented in bug 6690. - -The Mail::SpamAssassin::parser can now accept a message also as a string -reference, avoiding one copy in memory. Documented in bug 6686. - -A caller may pass the original mail body size to Mail::SpamAssassin::parse -through the suppl_attrib argument's field 'body_size'. This mail body size -is accessible to the eval rule check_body_length. It can be useful when a -caller only passes a truncated message to SpamAssassin. Documented in bug -6830. - -A new plugin callback "prefork_init" was introduced, which should be called -by a master process (e.g. spamd) before forking multiple child processes. -For compatibility this call is currently optional, but recommended for new -versions. Currently only a Redis backend for Bayes checks will benefit from -being notified before a fork. Documented in bug 6942. - - -Notable bug fixes ------------------ - -The sa-update program now avoids repeatedly downloading same rules if -subsequent unpacking of rules and updating fails. Documented in bug 6655. - -Several incompatibilities with newer versions of a perl module Net::DNS -as used by sa-update and by the SpamAssassin library were fixed. -See Net::DNS problem [rt.cpan.org #83451]. - -A perl module Razor agent clobbers entropy of a random number generator by -re-initializing the generator on every call. The SpamAssassin Razor plugin -now provides a workaround, preserving entropy across calls to Razor2 agent. - -A workaround in BayesStore/MySQL.pm was added for a MySQL server bug, -see http://bugs.mysql.com/bug.php?id=46675 . - -Documentation was fixed: trailing dots in DNSBL zone names are not required -since version 3.1.0 of Mail::SpamAssassin (September 2005). - - -Notable features: -================= - -Redis database backend for a Bayes database -------------------------------------------- - -In addition to existing backends, the 3.4.0 introduces support for keeping -a Bayes database on a Redis server, either running locally, or accessed -over network. Similar to SQL backends, the database may be concurrently -used by several hosts running SpamAssassin. - -The current implementation only supports a global Bayes database, i.e. -per-recipient sub-databases are not supported. The Redis 2.6.* server -supports access over IPv4 or over a Unix socket, starting with version -2.8.0 also IPv6 is supported. Bear in mind that Redis server only offers -limited access controls, so it is advisable to let the Redis server bind -to a loopback interface only, or to use other mechanisms to limit access, -such as local firewall rules. - -The Redis backend for Bayes can put a Lua scripting support in a Redis -server to good use, improving performance. The Lua support is available -in Redis server since version 2.6. In absence of a Lua support, the Redis -backend uses batched (pipelined) traditional Redis commands, so it should -work with a Redis server version 2.4 (untested), although this is not -recommended for busy sites. - -Expiration of token and 'seen' message id entries is left to the Redis -server. There is no provision for manually expiring a database, so it is -highly recommended to leave the setting bayes_auto_expire to its default -value 1 (i.e. enabled). - -Example configuration: - - bayes_store_module Mail::SpamAssassin::BayesStore::Redis - bayes_sql_dsn server=127.0.0.1:6379;password=foo;database=2 - bayes_token_ttl 21d - bayes_seen_ttl 8d - bayes_auto_expire 1 - - -Improved support for IPv6 -------------------------- - -The rules-updating program sa-update and its infrastructure is now usable -over either IPv4 or IPv6, including from an IPv6-only hosts (bug 6654). - -SpamAssassin is now usable on an IPv6-only host: affects installation, -self-tests, rule updates, client, server, and a command-line spamassassin. - -Command line options -4 and -6 were added to prefer/choose/force IPv4 or -IPv6 in programs spamassassin, spamd, spamc, and sa-update. - -Command line options --listen and --allowed-ips in spamd can now accept -IPv6 addresses. - -Preferably a perl module IO::Socket::IP is used (if it is available) for -network communication regardless of a protocol family - for DNS queries, -by spamd server side, and by a client code in Mail::SpamAssassin::Client. -As a fallback when the module IO::Socket::IP is unavailable, an older -module IO::Socket::INET6 is used, or eventually the IO::Socket::INET is -used as last resort. - -If spamd fails to start with an 'Address already in use' message, please -install perl module IO::Socket::IP, or deintall IO::Socket::INET6, or -specify a socket bind address explicitly with a spamd --listen option. -See bug 6953 for details. - -The spamd server can now simultaneously listen on multiple sockets, -possibly in different protocol domains (Unix sockets, INET or INET6 -protocol families. - -DnsResolver was updated allowing it to work on an IPv6-only host (bug 6653) - -A plugin RelayCountry now uses module Geo::IP and its database of IPv6 -addresses GEOIP_COUNTRY_EDITION_V6 when available. - -The following configuration options were extended to accept IPv6 addresses: -dns_server, trusted_networks, internal_networks, msa_networks, (but not yet -the whitelist_from_rcvd), and their defaults were adjusted accordingly. - -The parser code of Received header fields can now deal with IPv6 addresses -in a mail header section. - -The AutoWhitelist plugin was updated and can now deal with IPv6 addresses. - -Installation unit tests were updated to prevent them from failing on an -IPv6-only host. - - -New command-line options ------------------------- - -New command-line option for spamd: added an option --listen (or -i), -which can be specified multiple times and allows spamd to accept requests -over multiple INET (IPv4) or INET6 (IPv6) or UNIX sockets. See bug 6841, -and see also option --port. - -New command-line option for spamc: -X (or --unavailable-tempfail) allows -spamc to return EX_TEMPFAIL instead of EX_UNAVAILABLE when using option -x. - -As already noted in the 'Improved support for IPv6' section, options -4 -and -6 were added to programs spamassassin, spamd, spamc, and sa-update. - -The sa-update utility can now take multiple -v or --verbose options to -increase verbosity. - -The sa-learn command has a new option --max-size . - - -New configuration options -------------------------- - -Plugin/URIDNSBL: new tflags options 'a' and 'ns' were introduced. They are -documented in the Mail::SpamAssassin::Plugin::URIDNSBL POD or man page. - -Plugin/AutoLearnThreshold: new option autolearn_force was added. It is -documented in the Mail::SpamAssassin::Plugin::AutoLearnThreshold POD or -man page. - -Plugin/ASN: new options asn_prefix and clear_asn_lookups were added. -They are documented in Mail::SpamAssassin::Plugin::ASN POD or man page. - - -The following new options, as implemented by various plugins or by -other modules, are all documented in the Mail::SpamAssassin::Conf POD -or man page: - -- Plugin/WLBLEval: new configuration options were added: enlist_uri_host, -delist_uri_host, with shorthands blacklist_uri_host and whitelist_uri_host -and an associated eval rule check_uri_host_listed. - -- Configuration options dns_query_restriction (allow|deny) and -clear_dns_query_restriction were added (bug 6884). - -- A 'dns_options' setting accepts new sub-options 'dns0x20' and 'edns'. - -- Added option 'dns_server' which specifies an IP address of a recursive -DNS server (i.e. DNS resolver) and optionally its port number. - -- Added options dns_local_ports_permit, dns_local_ports_avoid and -dns_local_ports_none to control source port local ranges available to -DNS queries - -- Added the following sub-options to the tflags setting: autolearn_force, -maxhits=N, ips_only, domains_only, a, ns. - -- The option whitelist_from_rcvd can now take an IP address as its second -argument (instead of a domain name), which can be useful for whitelisting -a sending mailer which has no reverse DNS mapping. - - - -ArchiveIterator has new options opt_max_size and opt_from_regex. They are -documented in Mail::SpamAssassin::ArchiveIterator POD or man page. - -A new tag (macro) _RULESVERSION_ was added. It expands to a comma-separated -list of rules versions, retrieved from an '# UPDATE version' comment in -rules files and can be used in an 'add_header' configuration setting. - - -New plugins ------------ - -A new plugin AskDNS was introduced. - -Using a DNS query template as specified in a parameter of an askdns rule, -the plugin replaces tag names as found in the template with their values -and launches DNS queries as soon as tag values become available. When DNS -responses trickle in, filters them according to the requested DNS resource -record type and an optional subrule filtering expression, yielding a rule -hit if a response meets filtering conditions. - - -Optimizations -------------- - -Several smaller performance optimizations were introduced, among others: -bug 6508 (uses Net::Patricia if available), bug 6854 (base64 attachments), -bug 6915 (get_tag speedup). - -The DNS client code module now caches queries and replies for the duration -of processing one mail message. Duplicate DNS queries by different rules -which happen to query the same DNS resource are now avoided. - - - -Downloading and availability ----------------------------- - -Downloads are available from: - -http://spamassassin.apache.org/downloads.cgi - -md5sum of archive files: - -46e99adc0affebbe5f3524b4834e0345 Mail-SpamAssassin-3.4.0.tar.bz2 -5d0b50cee3bfa905cca35c33296c8c2a Mail-SpamAssassin-3.4.0.tar.gz -088a9b9bf7f3d93350f8c8920cbd2fe6 Mail-SpamAssassin-3.4.0.zip -9c15df55e9ec2a3c8376f3e15e448a2e Mail-SpamAssassin-rules-3.4.0.r1565117.tgz - -sha1sum of archive files: - -5bc66cd599cbe6a38a127d7813d4abc8af03b667 Mail-SpamAssassin-3.4.0.tar.bz2 -4dac1384282b6201f7d80cea8295933ef08e7e28 Mail-SpamAssassin-3.4.0.tar.gz -3fa7715fb4c8b558b5fbc2e5a1288a751d8d12e3 Mail-SpamAssassin-3.4.0.zip -d71a64cab9f5454d3b164e44d3649bff9cb87f87 Mail-SpamAssassin-rules-3.4.0.r1565117.tgz - -Note that the *-rules-*.tar.gz files are only necessary if you cannot, -or do not wish to, run "sa-update" after install to download the latest -fresh rules. - -See the INSTALL and UPGRADE files in the distribution for important -installation notes. - - -GPG Verification Procedure --------------------------- -The release files also have a .asc accompanying them. The file serves -as an external GPG signature for the given release file. The signing -key is available via the wwwkeys.pgp.net key server, as well as -http://www.apache.org/dist/spamassassin/KEYS - -The key information is: - -pub 4096R/F7D39814 2009-12-02 - Key fingerprint = D809 9BC7 9E17 D7E4 9BC2 1E31 FDE5 2F40 F7D3 9814 -uid SpamAssassin Project Management Committee -uid SpamAssassin Signing Key (Code Signing Key, replacement for 1024D/265FA05B) -sub 4096R/7B3265A5 2009-12-02 - -To verify a release file, download the file with the accompanying .asc file and run the following commands: - - gpg -v --keyserver wwwkeys.pgp.net --recv-key F7D39814 - gpg --verify Mail-SpamAssassin-3.4.0.tar.bz2.asc - gpg --fingerprint F7D39814 - -Then verify that the key matches the signature. - -Note that older versions of gnupg may not be able to complete the steps -above. Specifically, GnuPG v1.0.6, 1.0.7 & 1.2.6 failed while v1.4.11 -worked flawlessly. - -See http://www.apache.org/info/verification.html for more information -on verifying Apache releases. - - -About Apache SpamAssassin -------------------------- - -Apache SpamAssassin is a mature, widely-deployed open source project -that serves as a mail filter to identify spam. SpamAssassin uses a -variety of mechanisms including mail header and text analysis, Bayesian -filtering, DNS blocklists, and collaborative filtering databases. In -addition, Apache SpamAssassin has a modular architecture that allows -other technologies to be quickly incorporated as an addition or as a -replacement for existing methods. - -Apache SpamAssassin typically runs on a server, classifies and labels -spam before it reaches your mailbox, while allowing other components of -a mail system to act on its results. - -Most of the Apache SpamAssassin is written in Perl, with heavily -traversed code paths carefully optimized. Benefits are portability, -robustness and facilitated maintenance. It can run on a wide variety of -POSIX platforms. - -The server and the Perl library feels at home on Unix and Linux -platforms, and reportedly also works on MS Windows systems under ActivePerl. - -For more information, visit http://spamassassin.apache.org/ - - -About The Apache Software Foundation ------------------------------------- - -Established in 1999, The Apache Software Foundation provides -organizational, legal, and financial support for more than 100 -freely-available, collaboratively-developed Open Source projects. The -pragmatic Apache License enables individual and commercial users to -easily deploy Apache software; the Foundation's intellectual property -framework limits the legal exposure of its 2,500+ contributors. - -For more information, visit http://www.apache.org/ Property changes on: head/mail/spamassassin/files/3.4.0-RELEASE-NOTES.txt ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/spamassassin/files/patch-sa-learn.raw =================================================================== --- head/mail/spamassassin/files/patch-sa-learn.raw (revision 385002) +++ head/mail/spamassassin/files/patch-sa-learn.raw (nonexistent) @@ -1,27 +0,0 @@ ---- sa-learn.raw.orig Wed Aug 8 06:19:47 2007 -+++ sa-learn.raw Mon Aug 20 19:05:06 2007 -@@ -101,6 +101,7 @@ GetOptions( - 'local|L' => \$opt{'local'}, - 'no-sync|nosync' => \$opt{'nosync'}, - 'showdots' => \$opt{'showdots'}, -+ 'quiet|q' => \$opt{'quiet'}, - 'progress' => \$opt{'progress'}, - 'use-ignores' => \$opt{'use-ignores'}, - 'no-rebuild|norebuild' => sub { $opt{'nosync'} = 1; warn "The --no-rebuild option has been deprecated. Please use --no-sync instead.\n" }, -@@ -433,7 +434,7 @@ eval { - $progress->final() if ($opt{progress} && $progress); - - my $phrase = defined $forget ? "Forgot" : "Learned"; -- print "$phrase tokens from $learnedcount message(s) ($messagecount message(s) examined)\n"; -+ print "$phrase tokens from $learnedcount message(s) ($messagecount message(s) examined)\n" if (!$opt{quiet}); - - # If we needed to make a tempfile, go delete it. - if ( defined $tempfile ) { -@@ -601,6 +602,7 @@ Options: - (default: /etc/mail/spamassassin) - --cf='config line' Additional line of configuration - -D, --debug [area=n,...] Print debugging messages -+ -q, --quiet Reduce amount of information printed out - -V, --version Print version - -h, --help Print usage message - Property changes on: head/mail/spamassassin/files/patch-sa-learn.raw ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/spamassassin/pkg-plist =================================================================== --- head/mail/spamassassin/pkg-plist (revision 385002) +++ head/mail/spamassassin/pkg-plist (revision 385003) @@ -1,220 +1,225 @@ @unexec if service sa-spamd status | grep -q "spamd is running"; then service sa-spamd stop; fi bin/sa-awl bin/sa-check_spamd bin/sa-compile bin/sa-learn bin/sa-update bin/spamassassin bin/spamc bin/spamd @unexec rm -rf %D/%%ETCDIR%%/sa-update-keys 2>&1 >/dev/null || true @sample %%ETCDIR%%/local.cf.sample @sample %%ETCDIR%%/init.pre.sample @sample %%ETCDIR%%/v310.pre.sample @sample %%ETCDIR%%/v312.pre.sample @sample %%ETCDIR%%/v320.pre.sample @sample %%ETCDIR%%/v330.pre.sample @sample %%ETCDIR%%/v340.pre.sample +@sample %%ETCDIR%%/v341.pre.sample include/libspamc.h lib/libspamc.so lib/libspamc.so.0 %%SSL%%lib/libsslspamc.so %%SSL%%lib/libsslspamc.so.0 -%%PERL5_MAN3%%/Mail::SpamAssassin.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::AICache.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::ArchiveIterator.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::AsyncLoop.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::AutoWhitelist.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Bayes.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::BDB.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::MySQL.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::PgSQL.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::Redis.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::SQL.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Client.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Conf.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Conf::LDAP.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Conf::Parser.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Conf::SQL.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::DnsResolver.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Logger.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Logger::File.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Logger::Stderr.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Logger::Syslog.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Message.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Message::Metadata.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Message::Node.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::PerMsgLearner.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::PerMsgStatus.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::PersistentAddrList.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::ASN.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AWL.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AccessDB.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AntiVirus.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AskDNS.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AutoLearnThreshold.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Bayes.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::BodyRuleBaseExtractor.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Check.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DCC.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DKIM.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DNSEval.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Hashcash.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::MIMEHeader.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::OneLineBodyRuleType.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::PhishTag.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Pyzor.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Razor2.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::RelayCountry.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::ReplaceTags.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Reuse.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Rule2XSBody.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::SPF.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Shortcircuit.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::SpamCop.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Test.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::TextCat.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::URIDNSBL.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::URIDetail.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::VBounce.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::WhiteListSubject.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::PluginHandler.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::SQLBasedAddrList.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::SubProcBackChannel.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Timeout.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Util.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Util::DependencyInfo.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Util::Progress.3.gz -%%PERL5_MAN3%%/Mail::SpamAssassin::Util::RegistrarBoundaries.3.gz -%%PERL5_MAN3%%/spamassassin-run.3.gz -man/man1/sa-awl.1.gz -man/man1/sa-compile.1.gz -man/man1/sa-learn.1.gz -man/man1/sa-update.1.gz -man/man1/spamassassin-run.1.gz -man/man1/spamassassin.1.gz -man/man1/spamc.1.gz -man/man1/spamd.1.gz %%SITE_PERL%%/Mail/SpamAssassin.pm %%SITE_PERL%%/Mail/SpamAssassin/AICache.pm %%SITE_PERL%%/Mail/SpamAssassin/ArchiveIterator.pm %%SITE_PERL%%/Mail/SpamAssassin/AsyncLoop.pm %%SITE_PERL%%/Mail/SpamAssassin/AutoWhitelist.pm %%SITE_PERL%%/Mail/SpamAssassin/Bayes.pm %%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 %%SITE_PERL%%/Mail/SpamAssassin/BayesStore/Redis.pm %%SITE_PERL%%/Mail/SpamAssassin/BayesStore/SDBM.pm %%SITE_PERL%%/Mail/SpamAssassin/BayesStore/SQL.pm %%SITE_PERL%%/Mail/SpamAssassin/Client.pm %%SITE_PERL%%/Mail/SpamAssassin/Conf.pm %%SITE_PERL%%/Mail/SpamAssassin/Conf/LDAP.pm %%SITE_PERL%%/Mail/SpamAssassin/Conf/Parser.pm %%SITE_PERL%%/Mail/SpamAssassin/Conf/SQL.pm %%SITE_PERL%%/Mail/SpamAssassin/Constants.pm %%SITE_PERL%%/Mail/SpamAssassin/DBBasedAddrList.pm %%SITE_PERL%%/Mail/SpamAssassin/Dns.pm %%SITE_PERL%%/Mail/SpamAssassin/DnsResolver.pm %%SITE_PERL%%/Mail/SpamAssassin/HTML.pm %%SITE_PERL%%/Mail/SpamAssassin/Locales.pm %%SITE_PERL%%/Mail/SpamAssassin/Locker.pm %%SITE_PERL%%/Mail/SpamAssassin/Locker/Flock.pm %%SITE_PERL%%/Mail/SpamAssassin/Locker/UnixNFSSafe.pm %%SITE_PERL%%/Mail/SpamAssassin/Locker/Win32.pm %%SITE_PERL%%/Mail/SpamAssassin/Logger.pm %%SITE_PERL%%/Mail/SpamAssassin/Logger/File.pm %%SITE_PERL%%/Mail/SpamAssassin/Logger/Stderr.pm %%SITE_PERL%%/Mail/SpamAssassin/Logger/Syslog.pm %%SITE_PERL%%/Mail/SpamAssassin/MailingList.pm %%SITE_PERL%%/Mail/SpamAssassin/Message.pm %%SITE_PERL%%/Mail/SpamAssassin/Message/Metadata.pm %%SITE_PERL%%/Mail/SpamAssassin/Message/Metadata/Received.pm %%SITE_PERL%%/Mail/SpamAssassin/Message/Node.pm %%SITE_PERL%%/Mail/SpamAssassin/NetSet.pm %%SITE_PERL%%/Mail/SpamAssassin/PerMsgLearner.pm %%SITE_PERL%%/Mail/SpamAssassin/PerMsgStatus.pm %%SITE_PERL%%/Mail/SpamAssassin/PersistentAddrList.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/ASN.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/AWL.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/AccessDB.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/AntiVirus.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/AskDNS.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/AutoLearnThreshold.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/Bayes.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/BodyEval.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/Check.pm %%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/FreeMail.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTMLEval.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTTPSMismatch.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/Hashcash.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/HeaderEval.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/ImageInfo.pm %%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/PDFInfo.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 %%SITE_PERL%%/Mail/SpamAssassin/Plugin/SpamCop.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/Test.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/TextCat.pm +%%SITE_PERL%%/Mail/SpamAssassin/Plugin/TxRep.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/URIDNSBL.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/URIDetail.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/URIEval.pm +%%SITE_PERL%%/Mail/SpamAssassin/Plugin/URILocalBL.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/VBounce.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/WLBLEval.pm %%SITE_PERL%%/Mail/SpamAssassin/Plugin/WhiteListSubject.pm %%SITE_PERL%%/Mail/SpamAssassin/PluginHandler.pm +%%SITE_PERL%%/Mail/SpamAssassin/RegistryBoundaries.pm %%SITE_PERL%%/Mail/SpamAssassin/Reporter.pm %%SITE_PERL%%/Mail/SpamAssassin/SQLBasedAddrList.pm %%SITE_PERL%%/Mail/SpamAssassin/SpamdForkScaling.pm %%SITE_PERL%%/Mail/SpamAssassin/SubProcBackChannel.pm %%SITE_PERL%%/Mail/SpamAssassin/Timeout.pm %%SITE_PERL%%/Mail/SpamAssassin/Util.pm %%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%%/Mail/SpamAssassin/Util/TinyRedis.pm %%SITE_PERL%%/spamassassin-run.pod +%%PERL5_MAN3%%/Mail::SpamAssassin.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::AICache.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::ArchiveIterator.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::AsyncLoop.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::AutoWhitelist.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Bayes.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::BDB.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::MySQL.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::PgSQL.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::Redis.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::BayesStore::SQL.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Client.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Conf.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Conf::LDAP.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Conf::Parser.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Conf::SQL.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::DnsResolver.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Logger.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Logger::File.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Logger::Stderr.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Logger::Syslog.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Message.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Message::Metadata.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Message::Node.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::PerMsgLearner.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::PerMsgStatus.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::PersistentAddrList.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::ASN.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AWL.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AccessDB.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AntiVirus.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AskDNS.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::AutoLearnThreshold.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Bayes.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::BodyRuleBaseExtractor.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Check.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DCC.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DKIM.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DNSEval.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Hashcash.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::MIMEEval.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::MIMEHeader.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::OneLineBodyRuleType.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::PDFInfo.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::PhishTag.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Pyzor.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Razor2.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::RelayCountry.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::ReplaceTags.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Reuse.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Rule2XSBody.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::SPF.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Shortcircuit.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::SpamCop.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Test.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::TextCat.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::TxRep.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::URIDNSBL.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::URIDetail.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::URILocalBL.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::VBounce.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::WhiteListSubject.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::PluginHandler.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::RegistryBoundaries.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::SQLBasedAddrList.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::SubProcBackChannel.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Timeout.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Util.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Util::DependencyInfo.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Util::Progress.3.gz +%%PERL5_MAN3%%/Mail::SpamAssassin::Util::RegistrarBoundaries.3.gz +%%PERL5_MAN3%%/spamassassin-run.3.gz +man/man1/sa-awl.1.gz +man/man1/sa-compile.1.gz +man/man1/sa-learn.1.gz +man/man1/sa-update.1.gz +man/man1/spamassassin-run.1.gz +man/man1/spamassassin.1.gz +man/man1/spamc.1.gz +man/man1/spamd.1.gz %%DATADIR%%/languages %%DATADIR%%/sa-update-pubkey.txt %%DATADIR%%/user_prefs.template - +@comment ################################################################## @unexec rm -rf /var/lib/spamassassin/2* 2>&1 >/dev/null || true @dir /var/lib/spamassassin @dir /var/lib @dir /var/db/spamassassin - +@dir(%%USER%%,%%GROUP,) /var/run/spamd +@comment ################################################################## @unexec [ -d /var/db/spamassassin ] && echo "If you are no longer using SpamAssassin, remove /var/db/spamassassin" @unexec pw usershow "%%USER%%" 2>/dev/null 1>&2 && echo "To delete %%USER%% permanently, 'rmuser %%USER%%'" @unexec pw usershow "%%USER%%" 2>/dev/null 1>&2 && [ -d /var/spool/spamd ] && echo " Note that this will remove /var/spool/spamd" - -@owner %%USER%% -@group %%GROUP%% -@dir /var/run/spamd -@group -@owner - +@comment ################################################################## @exec if [ "%%UPDATE_ON_INSTALL%%" = "yes" ]; then echo "====> Downloading SpamAssassin rulesets"; %%PREFIX%%/bin/spamassassin -x -L --lint; %%PREFIX%%/bin/sa-update || true; fi @exec if [ "%%UPDATE_ON_INSTALL%%" = "yes" ]; then echo "====> Compiling SpamAssassin rulesets"; %%PREFIX%%/bin/spamassassin -x -L --lint; %%PREFIX%%/bin/sa-compile || true; fi