You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2013/06/21 19:54:51 UTC

svn commit: r1495521 - /spamassassin/trunk/build/announcements/PROPOSED-3.4.0.txt

Author: mmartinec
Date: Fri Jun 21 17:54:50 2013
New Revision: 1495521

URL: http://svn.apache.org/r1495521
Log:
folded-in unfinished additional text into PROPOSED-3.4.0.txt, limit line length to 75 chars

Modified:
    spamassassin/trunk/build/announcements/PROPOSED-3.4.0.txt

Modified: spamassassin/trunk/build/announcements/PROPOSED-3.4.0.txt
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/announcements/PROPOSED-3.4.0.txt?rev=1495521&r1=1495520&r2=1495521&view=diff
==============================================================================
--- spamassassin/trunk/build/announcements/PROPOSED-3.4.0.txt (original)
+++ spamassassin/trunk/build/announcements/PROPOSED-3.4.0.txt Fri Jun 21 17:54:50 2013
@@ -1,3 +1,239 @@
+<TO-DO: UNEDITED SECTION>
+
+Improved support for IPv6
+-------------------------
+
+- make it possible to run SpamAssassin on an IPv6-only host:
+  affects installation, self-tests, rule updates, client, server,
+  and a command-line spamassassin
+
+- Make sa-update and its infrastructure usable over IPv6 (Bug 6654)
+
+- added options -4 and -6 to prefer/choose/force IPv4 or IPv6
+  in programs spamassassin, spamd, spamc, and sa-update
+
+- if a module IO::Socket::IP is available, use it for network
+  communications regardless of a protocol family for DNS queries,
+  by spamd and in Mail/SpamAssassin/Client.pm. As a fallback when
+  IO::Socket::IP is unavailable, the IO::Socket::INET6 or eventually
+  the IO::Socket::INET are used
+
+- allow spamd to 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)
+
+- plugin RelayCountry now uses module Geo::IP and its database
+  of IPv6 addresses GEOIP_COUNTRY_EDITION_V6 if available
+
+- command line options --listen and --allowed-ips in spamd now accept
+  IPv6 addresses
+
+- 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); their defaults were adjusted
+  accordingly
+
+- parser of Received header fields can now deal with IPv6 addresses
+
+- AutoWhitelist plugin can now deal with IPv6 addresses
+
+- installation unit tests were updated to prevent them from failing
+  on an net6 -only host.
+
+
+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).
+
+
+New command-line options
+-------------------------
+
+ - sa-update can now take multiple -v or --verbose options to increase
+   verbosity
+
+ - spamd: can listen on multiple sockets as documented at option --listen
+
+ - new sa-learn command option  --max-size
+
+New command-line options 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; (Bug 6841); see also option --port
+
+New command-line options for spamc:
+- adding option -X (or --unavailable-tempfail) to allow spamc to return
+  EX_TEMPFAIL instead of EX_UNAVAILABLE when using option -x
+
+As already noted in the IPv6 section, options -4 and -6 were added
+to programs spamassassin, spamd, spamc, and sa-update.
+
+
+New configuration options
+-------------------------
+
+Plugin/URIDNSBL: new tflags options 'a' and 'ns'
+
+Plugin/AutoLearnThreshold: new option autolearn_force
+
+Plugin/ASN: new options asn_prefix and clear_asn_lookups
+
+Plugin/WLBLEval: new configuration options: enlist_uri_host, delist_uri_host,
+with shorthands blacklist_uri_host and whitelist_uri_host and
+an associated eval rule check_uri_host_listed
+
+added configuration options dns_query_restriction (allow|deny) and
+clear_dns_query_restriction (Bug 6884)
+
+
+added sub-options dns0x20 and edns to the dns_options setting
+
+
+added option dns_server which specifies an IP address of a DNS server
+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: new options opt_max_size and opt_from_regex
+
+added a tag (macro) _RULESVERSION_  which is a comma-separated list of
+rules versions, retrieved from an '# UPDATE version' comment in rules files
+
+New eval rules:
+Plugin/BodyEval: check_body_length
+Plugin/HeaderEval: check_equal_from_domains
+
+
+Notable bug fixes
+
+sa-update: avoid repeatedly downloading rules if subsequent unpacking
+of rules and updating fails (Bug 6655)
+
+fixed several incompatibilities with newer versions of Net::DNS
+in sa-update and in the SpamAssassin library
+Net::DNS bug [rt.cpan.org #83451]
+
+Plugin/Razor2.pm: preserve entropy of a random numbers generator
+across calls to Razor2 agent which clobbers it
+
+added a workaround in BayesStore/MySQL.pm for MySQL server bug
+( http://bugs.mysql.com/bug.php?id=46675 ):
+
+fixed documentation: trailing dots in DNSBL zone names are not
+required since version 3.1.0 of Mail::SpamAssassin (September 2005).
+
+
+Compatibility - changes since 3.3.2:
+
+A default setting for option 'dns_available' was changed from
+'test' to 'yes' (Bug 6770, Bug 6769)
+
+DNS queries generated by SpamAssassin now enable option EDNS0
+in query packets and specify a buffer length of 4096 bytes.
+This allows DNS replies larger than 512 bytes to be returned
+in one packet, avoiding a need for re-issuing a failed query
+using 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 a home use of SpamAssassin).
+The  but may not
+be suitable if a DNS server is 
+
+- EDNS=4096
+ Bug 6862: Allow a DNS resolver to use EDNS
+
+- bayes seen change
+
+
+Dependency changes since 3.3.2:
+
+- dropped dependency on a Perl module Net::Ident
+
+- dropped dependency on a Perl module IP::Country::Fast (or IP::Country)
+
+- 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 or IPv6)
+
+- new optional dependency on Net::Patricia to speed up lookups on
+  internal_networks, trusted_networks or msa_networks when these lists
+  contain a largen number of entries
+
+- new optional dependency on a perl module Redis, which is used if
+  a Bayes data store backend is chosen
+
+- 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
+
+- a perl module LWP::UserAgent as used by sa-update is now optional
+  if any of programs curl, wget, or fetch are available;
+
+- minimal required version of NetAddr::IP was bumped to 4.010
+
+
+
+Internal changes potentially affecting third party software
+using Mail::SpamAssassin library
+
+ Bug 6690: Give a caller a choice to call srand() by itself or let a
+   SpamAssassin library do it. Controlled by option skip_prng_reseeding
+   in SpamAssassin.pm
+
+ Bug 6686: Allow Mail::SpamAssassin::parser to accept a message
+   also as a string ref, avoiding one copy in memory
+
+ Bug 6830: a caller may pass the original mail body size to
+   SpamAssassin through {suppl_attrib}{body_size}, which is
+   accessible to the eval rule check_body_length
+
+ Bug 6942: 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.
+
+
+New plugins:
+  AskDNS.pm
+
+multiple improvements and bug fixed in Plugin DCC.pm
+
++=item can(Name::Of::Package::function_name)
++This is a function call that returns C<1> if the perl package named
++C<Name::Of::Package> includes a function called C<function_name>
++B<and> that function returns a true value when called with no arguments,
++otherwise C<undef> is returned.
++Is similar to C<has>, except that it also calls the named function,
++testing its return value (unlike the perl function UNIVERSAL::can).
++This makes it possible for a 'feature' function to determine its result
++value at run time.
+
+</TO-DO: UNEDITED SECTION>
+
+=========================================
+
+
+
 To: users, dev, announce
 Subject: ANNOUNCE: Apache SpamAssassin 3.4.0 available
 
@@ -7,10 +243,10 @@ Introduction
 ------------
 
 This is a major release.  It introduces nearly two years of bug fixes and
-features including the Bayes Redis (http://redis.io/) back-end (bug 6879), 
-eDNS changes (bug 6910), Native IPv6 Support, numerous URIBL.pm 
-changes/features and a small API change in libspamc (bug 6562) with many 
-other subtle changes.
+features including the Bayes Redis (http://redis.io/) back-end (bug 6879),
+eDNS 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.
 
 IPv6 note: Besides testing on a dual-protocol hosts, this was also tested
 on an IPv6-only host (works fine except Razor, using an external recursive
@@ -29,32 +265,33 @@ http://svn.apache.org/repos/asf/spamassa
 
 Important Sendmail Bug
 ----------------------
-Sendmail 8.14.5 and below contain a canonicalization bug that can cause DKIM
-failures.  See https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6462.
+Sendmail 8.14.5 and below contain a canonicalization bug that can cause
+DKIM failures.
+See https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6462.
 
 
 Important Bayes Change
 ----------------------
 
-Beyond the ability to use Redis as a Bayes backend server, Bug 5185 changed
-the way that message IDs were calculated for emails.  
+Beyond the ability to use Redis as a Bayes backend server, Bug 5185
+changed the way that message IDs were calculated for emails.  
 
-Because of this change, if you use Bayes and you are upgrading from a version
-prior to 3.4.0, you should 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.
+Because of this change, if you use Bayes and you are upgrading from a
+version prior to 3.4.0, you should 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 is important, consider just clearing your 
-    Bayes store and starting from scratch.
+    format. If unlearning a message is important, consider just clearing
+    your Bayes store and starting from scratch.
 
 
 Redis database backend for a Bayes database
@@ -80,10 +317,10 @@ of a Lua support, the Redis backend uses
 so in principle it should work with a Redis server version 2.4, 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).
+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: