mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
Update spamassassin to 3.4.1.
Changes: * improved automation to help combat spammers that are abusing new top level domains; * tweaks to the SPF support to block more spoofed emails; * increased character set normalization to make rules easier to develop and stop spammers from using alternate character sets to bypass tests; * continued refinement to the native IPv6 support; and * improved Bayesian classification with better debugging and attachment hashing. Full ChangeLog at https://metacpan.org/changes/distribution/Mail-SpamAssassin The japanese/spamassassin port is broken until it's updated for 3.4.1.
This commit is contained in:
parent
3f1fde7b58
commit
b8bf78dc10
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=385003
@ -1,7 +1,7 @@
|
||||
# Created by: TAOKA Fumiyoshi
|
||||
# $FreeBSD$
|
||||
|
||||
PORTREVISION= 14
|
||||
PORTREVISION= 0
|
||||
CATEGORIES= japanese mail perl5
|
||||
PKGNAMEPREFIX= ja-
|
||||
|
||||
@ -25,6 +25,8 @@ 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}
|
||||
|
@ -2,8 +2,8 @@
|
||||
# $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
|
||||
@ -15,14 +15,13 @@ 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]*
|
||||
@ -105,7 +104,7 @@ 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
|
||||
@ -141,10 +140,6 @@ 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' \
|
||||
@ -152,6 +147,7 @@ post-patch::
|
||||
-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; \
|
||||
@ -165,7 +161,7 @@ post-patch::
|
||||
. 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}
|
||||
|
@ -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
|
||||
|
@ -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 <private@spamassassin.apache.org>
|
||||
uid SpamAssassin Signing Key (Code Signing Key, replacement for 1024D/265FA05B) <dev@spamassassin.apache.org>
|
||||
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/
|
@ -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
|
||||
-----------------------------------------------
|
||||
|
@ -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
|
@ -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;
|
@ -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?
|
||||
|
@ -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<x.yyyzzz>, 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
|
@ -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
|
||||
|
@ -15,88 +15,12 @@ bin/spamd
|
||||
@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
|
||||
@ -164,6 +88,7 @@ man/man1/spamd.1.gz
|
||||
%%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
|
||||
@ -177,13 +102,16 @@ man/man1/spamd.1.gz
|
||||
%%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
|
||||
@ -197,24 +125,101 @@ man/man1/spamd.1.gz
|
||||
%%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
|
||||
|
Loading…
Reference in New Issue
Block a user