A long-awaited version 2.8.0 of amavisd-new has been released. It is available at:
http://www.ijs.si/software/amavisd/amavisd-new-2.8.0.tar.gz (984 KiB) or: http://www.ijs.si/software/amavisd/amavisd-new-2.8.0.tar.xz (699 KiB) Release notes are at: http://www.ijs.si/software/amavisd/release-notes.txt amavisd-new-2.8.0 release notes COMPATIBILITY - removed an old compatibility measure: default value of @banned_admin_maps was changed from: @banned_admin_maps = (\$banned_admin, \%virus_admin, \$virus_admin); to a more consistent: @banned_admin_maps = (\$banned_admin); The previous default value of @banned_admin_maps tried to maintain compatibility with versions before the setting was separated from its companion @virus_admin_maps. Now this compatibility is no longer considered necessary and contributes to some confusion, so it was dropped. See 2.4.0 and 2.2.1 release notes for previous changes to this setting. - quarantining to an mbox format file used to include a local time in an mbox separator line, which differs from RFC 4155 and common practices of using an UTC timestamp; a time zone of a timestamp in separator lines is now changed to UTC; BUG FIXES - fixed initial evaluation of dynamic (i.e. per policy bank) values of $enable_dkim_verification, $enable_dkim_signing and $bypass_decode_parts across all declared policy banks; these policy bank entries may be scalars of references to such; - finely adjust a message size for de-stuffed dots according to a size definition in RFC 1870; avoids occasional message size mismatch when using an antispam interface module SpamdClient (implementing client-side of a spamc/spamd protocol); - updated LDAP.ldif to match LDAP.schema; provided by Quanah Gibson-Mount; - updated AMAVIS-MIB.txt and amavisd-snmp-subagent: changed type of SNMP variables *MsgsSize* in the group amavisStats 7 from Counter32 to Counter64 for consistency with other *MsgsSize* variables in groups amavisStats 3 and amavisStats 9; See also the bug fixes section of 2.7.1 and 2.7.2 release notes. All fixes applied to 2.7.1 and 2.7.2 are incorporated in the 2.8.0 code. NEW FEATURES SUMMARY - For monitoring and statistics gathering purposes a new set of utilities and service processes is available based on a message passing paradigm, using a 0MQ (a.k.a. ZMQ, ZeroMQ, or Crossroads I/O) library. This replaces a functionally similar set of utilities based on a shared BerkeleyDB database, with a benefit of avoiding lock contention altogether. This can bring sigificant speedups, most pronounced on a host with many busy amavisd child processes. - Applied numerous fine-grained optimizations based on a NYTProf profiler results. Optimizations include a reduction in a number of generated Perl opcodes and similar micro-optimizations. This accounts for a large amount of small changes in the code. - Our current statistics (Q4 2011) shows that 80 % of messages are below 30.000 bytes, and 90 % of mail messages are below 100.000 bytes in size. As an optimization, messages below 100 KiB in size are now kept and processed in memory, including passing them more optimally to SpamAssassin 3.4.0. Some file activity is still there, but is much reduced. If $TEMPBASE also resides on an SSD disk (or a RAM disk), observed speedup between 2.7.2 and 2.8.0 was 3 to 8 percent on a busy host (with monitoring disabled, so as not to skew a measurement). - Use a module IO::Socket::IP if available, instead of dealing directly with low-level modules IO::Socket::INET and IO::Socket::INET6; - choose more appropriate defaults if running on an IPv6-only host (like connecting to ::1 instead of 127.0.0.1 which may not exist); - amavisd-release now also supports connecting to amavisd over IPv6; - as a debugging aid it is now possible that a late event triggers full logging of earlier events that occurred during processing of a current mail message; - $enable_ldap setting is now dynamic, i.e. can be changed by a policy bank, which makes it possible to selectively disable LDAP lookups per policy bank; - optionally avoid persistent connections to SQL and LDAP servers; - it is now possible to disable calling an external file(1) utility but still have MIME parts decoding enabled; - added support in Amavis::SpamControl::ExtProg for an external spam scanner Bogofilter; - added locking options to @spam_scanners entries, to be used with external scanners which need but do not implement locking of their resources by themselves; - added a global configuration setting $sa_userprefs_file, which is passed on to SpamAssassin as a 'userprefs_filename' parameter at initialization; - added a subroutine iso8601_weekday(), potentially useful with partitioning; - added several new macros available to logging and notification templates; Further details at: http://www.ijs.si/software/amavisd/release-notes.txt Mark
