Action Mailer is a framework for designing email-service layers. These layers
are used to consolidate code for sending out forgotten passwords, welcome
wishes on signup, invoices for billing, and any other use case that requires
a written notification to either a person or another system.
Action Mailer is in essence a wrapper around Action Controller and the
Mail gem. It provides a way to make emails using templates in the same
way that Action Controller renders views using templates.
Additionally, an Action Mailer class can be used to process incoming email,
such as allowing a weblog to accept new posts from an email (which could even
have been sent from a phone).
(This is part of Ruby on Rails 3.)
Mail is an internet library for Ruby that is designed to handle emails
generation, parsing and sending in a simple, rubyesque manner.
The purpose of this library is to provide a single point of access to handle
all email functions, including sending and receiving emails. All network
type actions are done through proxy methods to Net::SMTP, Net::POP3 etc.
Built from my experience with TMail, it is designed to be a pure ruby
implementation that makes generating, sending and parsing emails a no
brainer.
It is also designed form the ground up to work with Ruby 1.9. This is because
Ruby 1.9 handles text encodings much more magically than Ruby 1.8.x and so
these features have been taken full advantage of in this library allowing
Mail to handle a lot more messages more cleanly than TMail. Mail does run on
Ruby 1.8.x... it's just not as fun to code.
Finally, Mail has been designed with a very simple object oriented system
that really opens up the email messages you are parsing, if you know what
you are doing, you can fiddle with every last bit of your email directly.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Remove default value of GEM_BUILD.
=== 1.2.7.1 / 2010-02-07
* Fixed stray ruby-debug
* Re indented RChardet, and handled old syntax
* Add LICENSE.
* Remove default value of GEM_BUILD.
== MIME::Types 1.16
* Made compatible with Ruby 1.8.6, 1.8.7, and 1.9.1.
* Switched to the 'hoe' gem system and added a lot of build-time tools.
* Updated the MIME types to the list based on the values in the Perl library
version 1.27. Also updated based on external source information and bug
reports.
* This is the last planned version of MIME::Types 1.x. Work will be
starting soon on MIME::Types 2.x with richer data querying mechanisms
and support for external data sources.
* Several fixes to improve stability.
* Several fixes to the user interface.
* Several security fixes:
MFSA 2010-63 Information leak via XMLHttpRequest statusText
MFSA 2010-62 Copy-and-paste or drag-and-drop into designMode document allows XSS
MFSA 2010-61 UTF-7 XSS by overriding document charset using <object> type
attribute
MFSA 2010-59 SJOW creates scope chains ending in outer object
MFSA 2010-58 Crash on Mac using fuzzed font in data: URL
MFSA 2010-57 Crash and remote code execution in normalizeDocument
MFSA 2010-56 Dangling pointer vulnerability in nsTreeContentView
MFSA 2010-55 XUL tree removal crash and remote code execution
MFSA 2010-54 Dangling pointer vulnerability in nsTreeSelection
MFSA 2010-53 Heap buffer overflow in nsTextFrameUtils::TransformText
MFSA 2010-52 Windows XP DLL loading vulnerability
MFSA 2010-51 Dangling pointer vulnerability using DOM plugin array
MFSA 2010-50 Frameset integer overflow vulnerability
MFSA 2010-49 Miscellaneous memory safety hazards (rv:1.9.2.9/ 1.9.1.12)
* QUOTA and MYRIGHTS IMAP extension support.
* IMAP compression (COMPRESS=DEFLATE) when supported by server
* making opening attachment easier by saving them in a directory
* downloadable images when using Webkit html widget
* faster opening of the compose window.
* text searching enabled in the WebKit html viewer.
* options to hide toolbars and other parts of the UI (useful on netbooks etc).
* For laptop/wifi users: not trying to reach POP3 servers while disconnected,
and instead checking immediately on reconnection.
* infinite loop avoided.
* avoid crashes when manually verifing GPG signature.
GMime 2.4 has had a number of API changes since GMime 2.2. To start, ALL public
APIs that used to use off_t in GMime 2.2 now use gint64 so that the API and ABI
do not change based on whether or not large file support is enabled.
In addition, all of the functions marked as deprecated in 2.0 and 2.2 were
removed (usually they had equivalent functionality in a parent class).
Many functions have also been renamed for better clarity and/or consistency.
For convenience, GMime 2.4 source packages include a shell-script to aid in
porting applications using GMime 2.2 (should work for most GMime 2.0
applications as well) to the 2.4 API. You can find this script under the
tools/ directory, named `gmime-port-2-2-to-2-4.sh'.
This script won't fix everything, but it should help quite a bit.
pkgsrc changes:
- adjust dependencies
Upstream changes:
0.102370 2010-08-25 08:37:22 America/New_York
remove spurious prereq on Sys::Hostname::Long (thanks ABH)
tweak some tests for truth/definedness in SMTP transport
0.102360 2010-08-24 07:47:24 America/New_York
avoid the need to use "excludes" in role application; this silences
warnings with Moose 1.10
0.101760 2010-06-25 08:18:26 America/New_York
fix sendmail.t with latest Capture::Tiny (Justin Hunter)
pkgsrc changes:
- tidy
- add license definition
- adjust dependencies
Upstream changes:
3.002 2010-06-11
avoid a warning in MailInternet with zero headers found
Patch from upstream cvs repository to allow exmh to function
correctly with tcl 8.5 (or any earlier version). This patch
will not be needed after the next exmh upgrade.
No PKGREVISION bump since no uservisible changes.
* Restores compatibility with Postfix (which was broken in 2.70).
* Properly fixes signal-handling in child processes. 2.70 included a partial fix,
but signal-handling would break if you ran md-mx-ctrl reread.
* contrib: add safe_clamd from Luca
* freshclam: uses private symbol which changed proto, change name to prevent
crash
* libclamav: fix callback_sigload
* clamdscan: fix parsing of virus names in extended mode and --stream
* libclamav/c++/detect.cpp: Mac OS X can run 64-bit apps on 32-bit kernel
* libclamav/others.h: bump f-level
* sigtool/sigtool.c: fix handling of --datadir
* libclamav/matcher-ac.c: improve offset handling
* libclamav/7z/Archive/7z/7zDecode.c: shut up a warning
* libclamav/autoit.c: properly resume from empty files regression introduced
in ac867aad
* libclamav/elf.c: fix zero mem alloc warning
* win32: fix libclamav's triple and fix GetVersion
* libclamav/bytecode.c: save lsig counts/offsets
* libclamav/{bytecode,matcher}.c: matchicon API
* libclamav/pe_icons.c: BE fixes
* more...
- Build fix for Solaris
- Fix .m4 file
- Allow k or M suffix after data sizes
- Add a missing comma in X-Greylist (Kouhei Sutou)
- Look for liresolv in ${libdir} instead of /usr/lib (DUFRESNE VINCENT)
- Fix SPF on Postfix (Kouhei Sutou)
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
== [release-1-6-1] 1.6.1: 2010-08-21
A bug fix release of 1.6.0.
=== milter manager
==== Fixes
* Fixed a bug that no statistics information isn't logged to syslog.
[Reported by akira yamada]
=== Thanks
* akira yamada
5.428 2010-04-22 Dave O'Neill <dmo@roaringpenguin.com>
* VERSION 5.428 RELEASED
* (ticket 56764) Build release with a newer Module::Install
* (ticket 52924) ensure we add <> around Content-id data
* (ticket 48036) make mimesend example script a bit more useful
(courtesy of Jerrad Pierce)
* (ticket 43439) fix for parsing of doubled ; in multipart headers
* (ticket 41632) If both RFC-2231 and non-RFC-2231 parameters are
present, use only the RFC-2231 ones
* (ticket 40715) Reference Encode::MIME::Header in docs
* (ticket 39985) correct POD typos
* Only bind to localhost in smtpsend test, rather than to all available
interfaces. This might avoid some of the test failures seen on
cpantesters.
== [release-1-6-0] 1.6.0: 2010-08-11
The first release of stable 1.6.x series.
=== milter manager
==== Improvements
* Added parsers for Postfix cidr_table(5) and regexp_table(5):
PostfixCIDRTable, PostfixRegexpTable
== [release-1-5-3] 1.5.3: 2010-08-03
The last release of 1.5.x series. (plan)
=== Document
==== Improvements
* Added a description for
((<SocketAddress#to_ip_address|configuration#to-ip-address>)).
=== milter manager
==== Improvements
* Ensured to reply for negotiation on negotiation failure.
* Reduced the default timeout for reporting timeout error
to MTA. The previous default timeout is the same as MTA
default. With the value, we can't have a time to report
timeout error to MTA.
* command launcher: Supported syslog.
* Added an applicable condition:
* ((<Trust|"doc/configuration.rd.ja#trust">))
* Supported Solaris. [Patched by SATOH Fumiyasu]
=== milter manager admin
==== Improvements
* Supported Rails 2.3.8.
=== milter-test-server
==== Improvements
* Added ((<--color|milter-test-server#--color>)) option.
* Added ((<--threads|milter-test-server#--threads>)) option.
=== milter-core
==== Improvements
* Chanaged default log level to output error and critical message.
=== Ruby milter
==== Improvements
* Added --user, --gorup, --unix-socket-group,
--unix-socket-mode, --syslog, --library-version options.
* Added milter-test-client implemented by Ruby as a sample.
* Added milter-regexp.rb as a sample.
=== Thanks
* SATOH Fumiyasu
== [release-1-5-2] 1.5.2: 2010-05-29
A bug fix release of 1.5.1.
We recommend development version users who use a milter that uses
NO_REPLY_* or milter-greylist 4.3.x upgrade to this version.
=== Document
==== Improvements
* Created ((<available milters|available-milters>)) list.
* Updated recommended milter-greylist configuration.
=== milter manager
==== Improvements
* Supported S25R ((<whitelist customize
|"doc/configuration.rd#s25r.add_whitelist">)) and
((<blacklist
customize|"doc/configuration.rd#s25r.add_blacklist">)).
=== milter-manager-log-analyzer
==== Improvements
* Supported milter-greylist 4.3.x.
=== milter-toolkit
==== Improvements
* Used inet_pton()/inet_pton() instead of
inet_aton()/inet_ntoa(). [Suggested by SATOH Fumiyasu]
=== Thanks
* SATOH Fumiyasu
* ROSSO
== [release-1-5-1] 1.5.1: 2010-04-20
A bug fix release of 1.5.0.
It includes a memory leak fix derived from Ruby/GLib2
because bundled Ruby/GLib2 is updated. If bundled Ruby/GLib2
is used, upgrade is recommended.
=== Document
==== Improvements
* Added install document for development release on Ubuntu
Karmic Koara.
* Added a description that installs Rack
explicitly. [Reported by Tsuchiya]
==== Fixes
* FreeBSD: Fixed package name [Reported by Tsuchiya]
=== libmilter-core
==== Improvements
* Supported syslog level change by MILTER_LOG_SYSLOG_LEVEL
environment variable.
* Added memory profiler.
=== milter manager
==== Improvements
* Supported Solaris. [Reported and patched by SATOH Fumiyasu]
* Bundled Ruby/GLib2 0.19.4.
=== milter-test-client
==== Improvements
* Added
((<--report-memory-profile|milter-test-client#--report-memory-profile>)) option.
=== Thanks
* Tsuchiya
* SATOH Fumiyasu
== [release-1-5-0] 1.5.0: 2010-03-29
A development release.
=== Document
==== Improvements
* For Debian GNU/Linux・Ubuntu:
* Removed needless group change description [Suggested by ZnZ]
* For CentOS:
* Used Yum instead of RPM directly.
* For FreeBSD:
* Upgraded target version: 7.2-RELEASE -> 8.0-RELEASE
* Changed to use CPPFLAGS instead of CFLAGS for configure.
==== Bug fixes
* For FreeBSD:
* Fixed pw command options.
=== milter manager
==== Improvements
* init script for Debian GNU/Linux:
* Supported 'status'. [Suggested by ZnZ]
* Delayed parameter checks until they are needed.
[Suggested by ZnZ]
* Removed needless dependencies. [Suggested by ZnZ]
* [#2921072] Showed loaded configuration file path on
verbose mode. [Suggested by Antuan Avdioukhine]
* [#2921072] Showed file and line that are changed the
configuration item. [Suggested by Antuan Avdioukhine]
* [#2921078] Supported no child milter work.
[Suggested by Antuan Avdioukhine]
* Added configuration items:
* ((<remove_milter|"doc/configuration.rd#remove_milter">))
* ((<manager.connection_check_interval|"doc/configuration.rd#manager.connection_check_interval">))
* ((<manager.define_connection_checker|"doc/configuration.rd#manager.define_connection_checker">))
* ((<manager.use_netstat_connection_checker|"doc/configuration.rd#manager.use_netstat_connection_checker">))
* ((<manager.report_memory_statistics|"doc/configuration.rd#manager.report_memory_statistics">))
* ((<manager.maintained|"doc/configuration.rd#manager.maintained">))
* ((<stress.threshold_n_connections|"doc/configuration.rd#stress.threshold_n_connections">))
* ((<stress.threshold_n_connections=|"doc/configuration.rd#stress.threshold_n_connections=">))
* ((<remote_network.add_local_address|"doc/configuration.rd#remote_network.add_local_address">))
* Added new applicable conditions
* ((<No Stress|"doc/configuration.rd#no-stress">))
* ((<Stress Notify|"doc/configuration.rd#stress-notify">))
* Bundled Ruby/GLib 0.19.3. (For FreeBSD)
* Changed to use /usr/sbin/service or /sbin/service if it
is available.
* Supported OpenDKIM detection on CentOS.
* Supported Syslog facility change:
MILTER_LOG_SYSLOG_FACILITY environment variable is used.
* ((<manager.max_file_descriptors|"doc/configuration.rd.ja#manager.max_file_descriptors">)):
Changed both of soft and hard limit not only soft limit.
* Supported ((<Munin|URL:http://munin-monitoring.org/>)).
* Speed up and effective memory usage.
==== Bug fixes
* FreeBSD: Fixed OpenDKIM detection when any profiles
aren't used in /etc/rc.conf. [Reported by Tsuchiya]
* Fixed a bug that applicable condition is ignored by
Ruby's GC.
==== Experimental
* Introduced policy framework to specify condition and
milter all together.
=== milter-toolkit
* Supported milter development by Ruby bindings: ((<Ruby integration|ruby>))
* Specify --enable-ruby-milter option in configure.
=== milter-manager-log-analyzer
* Speed up (almost 2 times faster)
* Supported visualization about number connections that is
disconnection from SMTP clients.
=== milter-performance-check
* New options
* ((<--n-concurrent-connections|"doc/milter-performance-check#--n-concurrent-connections">)):
Specifies maximum number of concurrency connections.
=== milter-test-client
* New options:
* ((<--no-report-request|"doc/milter-test-client#--no-report-request">)):
Doesn't dump requests from MTA.
* ((<--user|"doc/milter-test-client#--user">)):
Specifies effective user.
* ((<--group|"doc/milter-test-client#--group">)):
Specifies effective group.
* ((<--socket-group|"doc/milter-test-client#--socket-group">)):
Specifies UNIX domain socket's group.
=== Package
==== CentOS
* Split to some packages.
=== Test
* Supported ((<Cutter|URL:http://cutter.sourceforge.net/>)) 1.1.0
=== Thanks
* ZnZ
* Tsuchiya
* Antuan Avdioukhine
the build, understandably, may fail.
If the krb5 option is selected, apply the paths as found in the previous
revision of the Makefile.
Fixes the build under Linux.
This release fixes a bug in ACL plugin, which could be considered a security
bug: If Maildir is used with default settings (INBOX is same as Maildir root
dir) and user set some ACLs to INBOX, those ACLs were copied to all newly
created mailboxes. This should have been done only for "default ACLs", but with
Maildir the INBOX directory is the same as the default ACL directory, so this
mixup happened. This bug exists only in v1.2.x releases.
Other fixes:
- Fixed iconv() crash when it was processing several kilobytes of broken
continuous input. This mainly could have caused a problem with IMAP SEARCH.
Possibly also with some Sieve checks.
- If MIME encoded-words contained line feeds, Dovecot logged cache corruption
errors.
- mbox: Renaming mailbox under newly created dir didn't move index directory.
- mbox: When generating envelope to From_-line, don't append a second
@owndomain if username already has one.
- Now allow more than one plugin to control the compose form submit action.
- When sorting by received date, the received date is now shown on the
message list.
- Explicitly disable browser caching for left_main and right_main pages
(#2983134).
- Fix error with SpamCop reporting plugin not being able to send report as
emails (#1795310).
- Fix typo in SpamCop plugin.
- Reduced default time security tokens stay valid from 30 days to 2 days
(reduces chances of session data growing too large)
- Several speed enhancements for recent fixes regarding the display of
encoded subjects, including a fix for messages with invalid subject
encoding (includes #2987016 amongst several other issues reported via
mailing list, etc.) (Many thanks to Zdenek Pytela for the untiring help
diagnosing and testing.)
- Fixed minor vulnerability in Mail Fetch plugin.
[CVE-2010-1637/TEHTRI-SA-2010-009]
- Now properly quote personal part of encoded addresses when replying.
- Now fill in default subject when forwarding as attachment (#2936541).
- Implement header folding that doesn't add extraneous spaces so unfolding
is less ambiguous (#1951776).
- Fixed issues caused by use of PostgreSQL keyword "user" in SquirrelMail's
default preferences database schema (#2943483).
- Fixed attachment filename decoding problems (#2994865).
- Now default search criteria to the TO header when searching the sent folder.
- Fixed literal processing of 8-bit usernames/passwords during login.
[CVE-2010-2813]
pkgsrc changes:
* accept bdb3 and bdb5, rename db4 option to bdb.
* accept tokyocabinet for db engine.
* buildlink with libiconv for UNICODE support.
-------------------------------------------------------------------------------
1.2.2 2010-10-08 (released)
2010-07-05
* Use a better PRNG for random sleeps. That is arc4random() where
available, and drand48() elsewhere.
* Assorted fixes for issues found with clang analyzer:
+ Fix a potential NULL deference
+ Fix a potential division by zero
+ Remove dead assignments and increments
* Update Doxyfile and source contrib/bogogrep.c for docs, too.
2010-07-03
* Security bugfix, CVE-2010-2494:
Fix a heap corruption in base64 decoder on invalid input.
Analysis and patch by Julius Plenz <plenz@cis.fu-berlin.de>.
Please see doc/bogofilter-SA-2010-01 for details.
2010-04-07
* Updated sendmail milter contrib/bogofilter-milter.pl to v1.??????
(thanks to Jonathan Kamens)
2010-04-01
* Bump supported/minimum SQLite3 versions and warning threshold.
See doc/README.sqlite for details.
* Mark BerkeleyDB 4.8.26 and 5.0.21 supported.
Note that Berkeley DB 5.0's SQLite3 compatibility API is NOT
supported, it causes shifts in scores and write failures under
contention. Bogofilter can use Berkeley DB 5.0's native interface,
and using that is more efficient than the added SQL shim layer.
2010-03-06
* Make t.maint more robust; ignore .ENCODING token. To fix test
failures on, for instance, FreeBSD with unicode enabled.
2010-02-15
* Fix several compiler warnings "array subscript has type 'char'", by
casting the arguments to unsigned char.
A security audit was conducted and showed that all affected
functions either received the relevant input from the user running
bogofilter, or the input had already been pre-validated by the token
lexer.
2010-02-14
* Split error messages for ENOENT and EINVAL into new function.
* Avoid divison by zero in robx computation by checking if there are at
least one ham message and one spam message registered.
2009-08-13
* contrib/spamitarium.pl updated to version 0.4.0
(thanks to Tom Anderson)
2009-08-05
* Updated and integrated Ted Phelps's "Patch to prevent .ENCODING from
being discarded by bogoutil -m" (SourceForge Patch #1743984).
Thanks to Ted for debugging the issue and providing the patch (which
was for bogofilter v1.1.5).
2009-09-15
* Promoted to "stable"
1.2.1 2009-08-01 (released)
2009-08-01
* Update configure to use "host" rather than "target", to match the
newer autotools cross-build semantics. Untested.
Developers changing the build system and users who build from SVN
will now need automake 1.9 and autoconf 2.60.
2009-07-31
* Fix Christian Frommeyer's MIME decoding bug, Ubuntu/Launchpad Bug
#320829. As a side effect, also fixes misattribution of MIME bodies
as MIME headers with mime: tag. Original bug report:
https://bugs.launchpad.net/ubuntu/+source/bogofilter/+bug/320829
Before this fix, bogofilter did not properly MIME-decode the first
line in a body. This was especially bad with Christian's samples
where the whole body was only one long base64 line.
2009-05-28
* Removed two scripts that are auto-built.
* Added test case for Stephen Davies' Q-P EOL problem (see below).
2009-05-25
* Fixed EOL problem in quoted_printable text. Problem reported by
Stephen Davies and identified by Pavel Kankovsky.
2009-03-28
* Promoted to "stable"
1.2.0 2009-02-21 (released) 2009-03-28 (declared stable)
2009-02-20
* Flex-2.5.35 has fix for memory allocation problem in 2.5.4,
2.5.31, and 2.5.33, making bogofilter's flex patch obsolete.
2009-02-12
* Bogofilter now uses listsort in place of qsort.
2009-01-31
* Added token-count=n, token-count-min=n, and token-count-max=n options.
* Minor code cleanups.
2009-01-21
* spamitarium.pl updated to version 0.3.0
(thanks to Tom Anderson)
2009-01-11
* For compatibility with Sun's Sun Studio 12 compiler, provide
a name for the anonymous union in typedef word_t.
Patch provided by Jack Bailey.
2008-10-20
* update bf_compact documentation by removing explicit Berkeley DB
references, as it has been fixed to work with other database drivers
in March 2008.
2008-10-15
* bf_compact, bf_copy and bf_tar now support transformed program names
(fixes Debian Bug#501947).
* Update sqlite3 adaptor to take advantage of sqlite3_prepare_v2()
API function that appeared in SQLite 3.3.9. The new _v2 interface
allows for more specific error messages when executing SQL
statements. Also enable extended result codes for more precise error
reporting.
2008-07-21
* Update doc/integrating-with-postfix: the script now suggests sendmail
-G -i (where -G will be ignored by Postfix before 2.3) to tell
Postfix it's a gateway submission, not an original injection; the
filter pipe(8) magic for master.cf now suggests flags=Rq (was
flags=R), as per Postfix's FILTER_README.
2008-07-09
* Drop support for systems that reverse setvbuf arguments. The last
systems to do that are reported to be shipped in 1987 by the autoconf
manual, so ditch them.
(Since pkgsrc-2010Q2 has the 3.0 branch of thunderbird I will send a
separate diff to releng for the 3.0.6 security update.)
MFSA 2010-47 Cross-origin data leakage from script filename in error messages
MFSA 2010-46 Cross-domain data theft using CSS
MFSA 2010-44 Characters mapped to U+FFFD in 8 bit encodings cause subsequent
character to vanish
MFSA 2010-43 Same-origin bypass using canvas context
MFSA 2010-42 Cross-origin data disclosure via Web Workers and importScripts
MFSA 2010-41 Remote code execution using malformed PNG image
MFSA 2010-40 nsTreeSelection dangling pointer remote code execution
MFSA 2010-39 nsCSSValue::Array index integer overflow
MFSA 2010-38 Arbitrary code execution using SJOW and fast native function
MFSA 2010-34 Miscellaneous memory safety hazards (rv:1.9.2.7/ 1.9.1.11)
PERL_SET_CONTEXT after forking or Perl gets confused.
In particular, setting signal-handling dispositions using
$SIG{FOO} = sub { ... } breaks.
* Clarify wording of mimedefang-filter man page.
* Remove obsolete code that used to attempt to generate working
directory names. Deactivate the no-longer-needed "-M" mimedefang
option.
* Add new "-y" option to mimedefang-multiplexor. This limits
the number of concurrent "recipok" commands on a per-domain basis.
* Remove Anomy::HTMLCleaner support.
* use MIME::Parser::Filer's ignore_filename() call instead of
subclassing to override evil_filename(). Same effect, less code.
* refactor resend_message_one_recipient() to use
resend_message_specifying_mode() instead of reimplementing it.
* header_timezone() now generates a strictly RFC2822-compliant timezone
string without needing POSIX::strftime()
* Ensure that decode_mimewords() is called in scalar context.
options no longer exist in the current version of evolution.
It still doesn't build for me under Linux, but the spurious warnings about
unrecognised krb4 configure options are gone.
Upstream changes:
version 1.30: Thu Jun 3 12:00:37 CEST 2010
- typo. rt.cpan.org#55655 [Salvatore.Bonaccorso]
- xlsx must be encoded binary [Ben Prew]
- added f4v, f4p, f4a, f4b extensions for mpeg4
rt.cpan.org#55168 [Oskari Ojala]
version 1.29: Tue Mar 16 23:28:00 CET 2010
- added a zillions of new types from debian's /etc/mime.types.
implemented by [Roman V. Nikolaev]
- changed table format, hopefully to speed-up load times per
type, slightly compensating for the increased list.
- Update bundled enigmail to 1.1.2
- Update mozilla branch patches to 1.9.2 (from devel/xulrunner)
- While here fix PR pkg/43598 PLIST problem w/ enigmail
---8<---
Thunderbird 3.1 is based on the Gecko 1.9.2 platform to provide improved
performance, stability, web compatibility, and code simplification and
sustainability.
New features include:
Faster Search Results and Quick Filter Toolbar
* Faster Search Results
* Quick Filter Toolbar
User Experience Improvements
* New Migration Assistant
* Saved Files Manager
* Mail Account Setup Wizard
Performance Improvements
* Improvements to Stability, Memory, and Password Handling
Based on PR#43566, with additional clean up, exactly enable/disable options.
Version 1.4.21:
- No significant changes.
Version 1.4.20:
- Added support for authentication mechanism SCRAM-SHA-1 via GNU SASL.
- The new command tls_fingerprint allows one to trust one particular TLS
certificate, in case tls_trust_file cannot be used for some reason.
- The new script msmtp-gnome-tool.py manages Gnome Keyring passwords for msmtp.
Version 1.4.19:
- When using OpenSSL, msmtp now correctly handles NUL characters in the Common
Name and Subject Alternative Name fields of certificates. This fixes a
security problem. Note that msmtp is not affected by this problem if GnuTLS is
used.
Changed the option "hostname-file" to read /var/qmail/control/me by default.
Added the option "dns-resolv-conf" to read the nameserver from a file other
than /etc/resolv.conf if necessary. Multiple files can be read, if needed.
Changed all uses of strncpy() to memcpy() because strncpy() will fill the
remainder of the destination buffer with zeroes if the source string is
too short. This is not needed because all strings are being explicitly
terminated after copies anyway.
Added two new parameters to search_file() to allow the matching line data to
be returned to the caller.
Changed process_access() to save the contents of the RELAYCLIENT environment
variable, if set.
Added the timefilter program to the utils folder.
Reversed a small change to spamdyke_log() made 4.0.8 that will prevent buffer
overflows in obscure situations.
Changed is_ip_in_name() to look for more patterns of IP addresses in rDNS
names: 044.033.022.011, 44.033.022.011, 44.33.022.011 and 44.33.22.011.
Thanks to Eduard Svarc for suggesting this one.
Changed the syslog output to include an "encryption:" tag at the end that
shows the current status of TLS/SSL encryption. Thanks to Eric Shubert for
suggesting this one.
Added a "-R" option to smtpdummy so it will reject all recipients.
Completely rewrote find_address() to completely conform to RFC 2822 when
parsing addresses, including quoting, comments, folded whitespace and
all the rest.
Added the option "reject-identical-sender-recipient" to block any messages
where the sender and recipient are the same. Thanks to almost everyone
on the mailing list for suggesting this one.
Changed nihdns_mx() to tolerate MX records that contain IP addresses (illegal)
instead of names.
Fixed Makefile.in to use the CPPFLAGS variable from the "configure" script, if
the user provided it in an environment variable. Thanks to Iavor Stoev for
reporting this one.
Fixed the "configure" script to correctly include header files on FreeBSD 7.0.
Thanks to Andrew Khon for reporting this one.
Added a "-S" flag to sendrecv to prevent it from starting a TLS session when
it sees "STARTTLS".
Improved sendrecv's usage display to document what each option does.
Changed do_spamdyke() to set the stdin and stdout file descriptors to
nonblocking before calling middleman(). This works around a bug in the SSL
library that will block forever waiting for input, even after SSL_pending()
and/or select() has already indicated the socket is ready. Thanks to
Teodor Milkov for identifying this problem more than a year ago and trog for
producing a patch to fix it!
Fixed process_config_file() to reject configuration file lines with
bad/missing characters.
Fixed process_config_file() to print an "unknown option" error message instead
of an "illegal option" message when an unknown option is found in a
configuration file.
Added option "rejection-text-identical-sender-recipient" to set the rejection
message for the identical sender/recipient filter.
Created dnsdummy to simulate a nameserver but exit after a short while for
testing spamdyke's DNS routines.
Converted all DNS-related tests to use dnsdummy and removed all references to
spamdyke.org and silence.org. This will also allow the removal of the
(hundreds of) bogus entries from the spamdyke.org zone file.
Removed the use of getprotobyname() from dns.c and used the defined protocol
values in netinet/in.h.
Changed nihdns_query() to retry DNS queries via TCP if the response received
via UDP has the "truncation" flag set (indicating the answers are too large
for a UDP packet). Thanks to Roland Moelle for suggesting this one.
Added option "dns-tcp" to control if spamdyke will retry DNS queries via TCP.
Added option "dns-spoof" to control if spamdyke will attempt to detect DNS
spoofing and, if so, what it should do about it.
Fixed smtp_filter() to offer and accept SMTP AUTH (when appropriate) even if
the connection is already whitelisted. Thanks to Ratko Rudic for
reporting this one.
-update broken link in FAQ. Thanks: Stefan Kangas.
-strip a few extra problematic (on non-Unix systems) characters when
generating oldmail filenames; backslash was requested by Andy Ross.
If upgrading and your current oldmail file contains any of these
characters:
\ ; < > |
... then rename it, replacing runs of one or more of those characters with
a single "-".
-improve clarity of message logged by getmail when an external program exits
0 but getmail considers it failed because it wrote to stderr. Thanks:
Chris Dennis.
ChangeLog for Dovecot 1.2.12:
- deliver: Don't crash when a message with Auto-submitted: header gets
rejected.
- lib-storage: Fixed header searches to work correctly when there are
multiple headers with same name.
- dict client: Disconnect from dict server after 1 second of idling.
- dict: If process crashed, it wasn't automatically restarted
- dict file: If dict file's group permissions equal world permissions,
don't try to change its gid.
- maildir: Fixed a memory leak when copying with hardlinks.
- maildir: Expunging last messages may have assert-crashed if their
filenames had just changed.
Changelog for Sieve 0.1.17:
- Made sure source code positions for compiler messages are recorded
at start of tokens.
- Fixed a few potential memory leaks in the Sieve compiler and the
spam/virustest extensions.
- Made command line tools return proper exit status upon failure.
from postfix-license, of the same level of importance as changing the
name of the copyright holder, rather than in the nature of the terms.
Everyone believes that postfix is Open Source, and this causes postfix
to fall under DEFAULT_ACCEPTABLE_LICENSES.
ok martti@
* gpglib/list.c: Handle GnuPG 2 --with-colons output format changes.
* gpglib/mimegpgfork.c: GnuPG 2 wants --batch when specifying
passphrase-fd.
* rfc2045/rfc2045reply.c (mkreply): Fix sender's name in the
reply salutation.
* html/en-us/newmsg.html: Ditto.
* Big quota patch (with some changes).
(See the Changelog for the previous releases)
Based on patch(es) from PR pkg/42989 by Brian Candler
* maildrop/mailbot.c (main): Set close-on-exec bit on opened files.
* rfc2045/rfc2045reply.c (mkreply): Fix sender's name in the
reply salutation.
* rfc2045/reformime.sgml: Document the -c option to reformime.
* Big quota patch (with some changes).
(See the Changelog for the previous releases)
Based on patch(es) from PR pkg/42989 by Brian Candler
* tcpd/configure.in: Check if explicit linking with libgpg-error is required.
* imapd.c (main): Fix typo in alert message.
* Big quota patch (with some changes).
* imapd.c (main): Dummy FAM/Gamin initialization, report an error
during login, upon a failure.
* imapd.c (imapenhancedidle): Make FAM error more meaningful.
* pop3dserver.c (main): "disableinsecurepop3" account option disables
non-SSL logins.
* imapd.c (chkdisabled): "disableinsecureimap" account option disables
non-SSL logins.
(See the Changelog for the previous releases)
Based on patch(es) from PR pkg/42989 by Brian Candler
* gpglib/list.c: Handle GnuPG 2 --with-colons output format changes.
* gpglib/mimegpgfork.c: GnuPG 2 wants --batch when specifying passphrase-fd.
* tcpd/configure.in: Check if explicit linking with libgpg-error is required.
* tcpd/libcouriergnutls.c (tls_connect): Fix bad call to
gnutls_server_name_set(). Affects Courier compiled with GnuTLS support.
* maildrop/mailbot.c (main): Set close-on-exec bit on opened files.
* courier/doc/courier.sgml: Move the SPF section to a separate refsect2
to work around misformatting by the manpage stylesheet.
* rfc2045/rfc2045reply.c (mkreply): Fix sender's name in the reply salutation.
* html/en-us/newmsg.html: Ditto.
* rfc2045/reformime.sgml: Document the -c option to reformime.
* imapd.c (main): Fix typo in alert message.
* Big quota patch (with some changes).
(See the Changelog(s) for previous releases)
Based on patch(es) from PR pkg/42989 by Brian Candler.
(missed those and *emacs* the first time round because they pull
in their png dependencies via default-on options; they were included
in the test bulk build though)
implementation (for SMTP-based content filters), improves robustness,
and has updates for changes in system or library interfaces.
* Bugfix (introduced Postfix 2.6) in the XFORWARD implementation,
which sends remote SMTP client attributes through SMTP-based
content filters. The Postfix SMTP client did not skip "unknown"
SMTP client attributes, causing a syntax error when sending
an "unknown" client PORT attribute.
* Robustness: skip LDAP queries with non-ASCII search strings,
instead of failing with a database lookup error.
* Safety: Postfix processes now log a warning when a matchlist
has a #comment at the end of a line (for example mynetworks
or relay_domains).
* Portability: OpenSSL 1.0.0 changes the priority of anonymous
cyphers.
* Portability: Mac OS 10.6.3 requires <arpa/nameser_compat.h>
instead of <nameser8_compat.h>.
* Portability: Berkeley DB 5.x is now supported.
- security fixes
- various bug fixes and small improvements
- new XHTML strict template tree
- add UTF-8 support
- add IPv6 support
- add Raven single sign-on authentication
* installed exipick 20100104.1, adding $max_received_linelength, $data_path,
and $header_path variables; fixed documentation bugs and typos
* installed exipick 20100222.0, added --input-dir and --finput to allow
exipick to access non-standard spools, including the "frozen" queue (Finput)
* Support mysql stored procedures.
* Spacing fix (syntax error) on Makefile directives for NetBSD
* Documentation fix for max_rcpts.
* Fix for unknown responses from Dovecot authenticator.
* Added umask to procmail example.
* installed exipick 20100323.0, fixing doc bug
* CVE-2010-2023 - prevent hardlink attack on sticky mail directory.
* Upgrade PolarSSL files to upstream version 0.12.1.
* Improve log output when DKIM signing operation fails.
* Treat the transport option dkim_domain as a colon separated list, not as
a single string, and sign the message with each element, omitting multiple
occurences of the same signer.
* Null terminate DKIM strings, Null initialise DKIM variable
* dnsdb DNS TXT record bug fix (DKIM-related)
* CVE-2010-2024 - work round race condition on MBX locking.
Regenerate patch for malformed received lines from upstream CVS via:
cvs diff -r RELEASE_0_3_1
Store the patch on ftp.netbsd.org, rather than wrongly trying to put
it in files.
PKGREVISION++.
* A new, more permissive license allows people to distribute versions of
Mail Avenger that are linked with OpenSSL.
* Some minor corrections to manual pages, thanks to Dererk.
Changes 0.8.0:
* Minor changes for compilation under gcc 4.3.0.
* Fsync the destination directory and expliticly update its times when
delivering a message to a maildir.
* cone/sgml/cone-folderindex.sgml (prompt): Mention the inn 2.5.x bug.
* cone/myreferences.H (m): Fix NULL ptr deref.
* cone/cursesmessage.C (nextLink): Fix wild pointer.
* libmail/copymessage.C (fail): Fix segfault if fetching the contents,
of the message being copied, fails.
* cone/cursesmessage.C (reformatAddLine): Clear the entire struct
to suppress warnings from valgrind.
* gcc 4.5 portability fixes.
* tcpd/libcouriergnutls.c (tls_connect): Fix bad call to
gnutls_server_name_set().
Changes 0.82:
* cone/curseseditmessage.C (getMarkedRegion): Portability fix (gcc 4.4.3).
* all: Some code cleanup.
Changes 0.81:
* cone/spellcheckerAspell.C: Do not set "lang" and "encoding" to empty values.
Changes 0.80:
* cone/libmail: Link with libidn if this library is installed. Added
getAddrAddr() and setAddrAddr() methods to mail::emailAddress that
use libidn, if installed, to decode/encode the hostname portion of the
email address.
* The GNU IDN library is now required to build Cone
fetchmail-6.3.17 (released 2010-05-06, 25767 LoC):
# SECURITY FIX
* CVE-2010-1167: Fetchmail before release 6.3.17 did not properly sanitize
external input (mail headers and UID). When a multi-character locale (such as
# FEATURES
* Fetchmail now supports a --sslcertfile <file> option to specify a "CA bundle"
file (a file that contains trusted CA certificates). Since these bundled CA
files do not require c_rehash to be run, they are easier to use and immune to
OpenSSL library updates that affect the hash function.
* Fetchmail now supports a FETCHMAIL_INCLUDE_DEFAULT_X509_CA_CERTS
environment variable to force loading the default SSL CA certificate
locations even if --sslcertfile or --sslcertpath is used.
If neither option is in effect, fetchmail loads the default locations.
# REGRESSION FIX
* Fix string handling in rcfile scanner, which caused fetchmail to misparse a
run control file in certain circumstances. Fixes BerliOS bug #14257.
Patch by Michael Banack. This fixes a regression introduced before 6.3.0.
# BUG FIXES
* Plug memory leak when using a "defaults" entry in the run control file.
* Do not print SSL certificate mismatches unless verbose or --sslcertck is
enabled.
* Do not lose "set invisible" in fetchmailconf. (Michael Barnack)
# CHANGES
* Usability: SSL certificate chains are fully printed in -v -v mode, and there
are now helpful pointers to --sslcertpath and c_rehash for "unable to get
local issuer certificate" and self-signed certificates -- these usually hint
to missing root signing CAs in the certs directory.
* Several fixes for compiler (GCC, Intel C++, CLang) and autotools warnings
* Memory allocation failures will now cause abnormal program abort (SIGABRT),
no longer an exit with unspecified code.
# DOCUMENTATION
* Fix table of global option to read "set softbounce" where there used to be a
2nd copy of "set spambounce". Patch by Michael Banack, BerliOS Bug #17067.
* In the --sslcertpath description, mention that OpenSSL upgrade (and a 0.9.X
to 1.0.0 upgrade in particular) may require running c_rehash.
# TRANSLATION UPDATES
[zh_CN] Chinese/simplified (Ji Zheng-Yu)
[cs] Czech (Petr Pisar)
[nl] Dutch (Erwin Poeze)
[fr] French (Fr\xc3<A9>d\xc3<A9>ric Marchal)
[de] German
[id] Indonesian (Andhika Padmawan)
[it] Italian (Vincenzo Campanella)
[ja] Japanese (Takeshi Hamasaki)
[pl] Polish (Jakub Bogusz)
[sk] Slovak (Marcel Telka)
[vi] Vietnamese (Clytie Siddall)
# KNOWN BUGS AND WORKAROUNDS:
(this section floats upwards through the NEWS file so it stays with the
current release information - however, it was stuck with 6.3.8 for a while)
* fetchmail does not handle messages without Message-ID header well
(See sourceforge.net bug #780933)
* BSMTP is mostly untested and errors can cause corrupt output.
* Sun Workshop 6 (SPARC) is known to miscompile the configuration file lexer in
64-bit mode. Either compile 32-bit code or use GCC to compile 64-bit
fetchmail. Note that fetchmail doesn't take advantage of 64-bit code,
so compiling 32-bit SPARC code should not cause any difficulties.
* fetchmail does not track pending deletes over crashes
* the command line interface is sometimes a bit stubborn, for instance,
fetchmail -s doesn't work with a daemon running
fetchmail-6.3.16 (released 2010-04-06, 25574 LoC):
# BUG FIX
* Fix --interface option, broken in 6.3.15. Reported by Vladmimir Stavrinov.
Fixes Debian Bug #576717.
# CHANGE
* Call OpenSSL_add_all_algorithms(). This is needed to support non-mandatory
and non-standard algorithms in certificates.
Sjoerd Simons, to fix Debian Bug #576430.
OpenSSL 0.9.8* does not load - for instance - the SHA256 digest by default.
Reported as OpenSSL RT#2224.
fetchmail-6.3.15 (released 2010-03-28, 25572 LoC):
# FEATURE
* Fetchmail now supports a bad-header command line or rcfile option that takes
exactly one argument, accept or reject (default). This specifies how messages
with bad headers retrieved from the current server are to be treated.
# BUG FIXES
* In the rcfile, recognize "local" as abbreviation for "localdomains", as
documented. The short form has not ever worked since this feature was added in
January 1997. Reported by Fr\xc3<A9>d\xc3<A9>ric Marchal.
* Do not close stdout when using mda and "bsmtp -" at the same time.
* Log operating system errors when BSMTP writes fail.
* Fix verbose mode progress formatting regression from 6.3.10; SMTP trace lines
were no longer on a line of their own. Reported by Melchior Franz.
* Check seteuid() return value and abort running MDA if switch fails.
* Set global flags in a consistent manner. Make --nosoftbounce and
--nobounce work from command line (these used to work in rcfiles).
Reported and fix confirmed working by N.J. Mann. (Sunil Shetye)
* Properly import h_errno declarations, even on systems where h_errno isn't a
macro. (Adds ./configure check, fixes Cygwin dllimport warnings.)
# CHANGES
* The repository has been converted and moved from the Subversion (SVN) format
kindly hosted by Graham Wilson over the past years to Git format hosted on
Gitorious.org. My deepest thanks to Graham Wilson for this service that
kept us going when BerliOS's Subversion service was faulty in its early days.
* This opportunity was used to convert BRANCH_6-2 and BRANCH_1-9-9 to
GnuPG-signed tags, as a sign that these are now closed.
* The outdated SVN trunk is now called "oldtrunk" in Git just to save the work
for future reference. All development in the past few years was on BRANCH_6-3.
* master was branched from BRANCH_6-3. BRANCH_6-3 is now obsolete (and in fact
was also converted to a tag to record where the conversion from SVN to Git
took place).
* "make check" now skips HTML validation if xmllint or XHTML DTD are missing.
# DOCUMENTATION
* Web site and documentation were adjusted to reflect the SVN->Git move.
* The fetchmail manual page is now much clearer on the user id switching
(seteuid) when using --mda while running as the super user.
# TRANSLATION UPDATES, by language name
* [zh_CN] Chinese (Simplified), by Ji Zheng-Yu
* [cs] Czech, by Petr Pisar
* [nl] Dutch, by Erwin Poeze
* [fr] French, by Fr\xc3<A9>d\xc3<A9>ric Marchal
* [de] German
* [id] Indonesian, by Andhika Padmawan
* [it] Italian, by Vincenzo Campanella
* [ja] Japanese, by Takeshi Hamasaki
* [pl] Polish, by Jakub Bogusz
* [vi] Vietnamese, by Clytie Siddall
- change to how getmail counts messages in an IMAP mailbox; prevents problems
where getmail would only see the first 500 messages in a mailbox with some
IMAP servers that return oddball responses to SELECT. Thanks: David Damerell.
The main thing that this new release adds is full support for the spamtest,
spamtestplus and virustest extensions. These extensions implement a uniform
means of testing the content spam/virus status headers in mail messages:
http://ietfreport.isoc.org/idref/rfc5235/
Not many people have tested these new features yet and therefore these are
currently considered experimental. Test these thoroughly before you start using
them! Documentation is available in share/doc/dovecot/spamtest-virustest.txt
Changelog Sieve v0.1.16:
* Finished implementation of spamtest, spamtestplus and virustest
extensions. These are not enabled by default and need to be
activated with the sieve_extensions setting. Documentation available
in doc/spamtest-virustest.txt
+ Vacation extension: the from address of the generated reply is now
by default equal to whatever known recipient alias matched the
headers of the message. If it is one of the aliases specified with
:addresses, it is used in stead of the envelope recipient address
that was used before.
+ Restructured and optimized the lexical scanner.
+ Added --with-docs configure option to allow disabling installation
of documentation.
- Accidentally omitted 'extern' in two declarations of global
variables in header files, causing compile failures on certain
systems.
- Deprecated imapflags extension: fixed implicit assignment of flags.
Turns out this never really worked, but the effect of this bug was
obscured by the removeflag bug fixed in the previous release.
- Fixed various memset argument mixups in enotify extension. This
caused warnings on certain systems, but luckily no adverse effects
at runtime.
Changelog:
Implemented Features:
* Added Mail_mime::setContentType() function with possibility to set various
types in Content-Type header (also fixes problem with boundary parameter
when Content-Type header was specified by user) [alec]
1.) Always install the binary. The permissions of "/var/mail" on
the build system are just no good indicator to determine whether
this program is required or not.
2.) Don't try to set the permissions of the binary in the makefile
and add it to "SPECIAL_PERMS" instead. Mark the package as capable
of user destinaton directory installation again.
Bump package revision because the binary package has changed at least
under NetBSD with default permissions for "/var/mail".
1.3.1 09-February-2010
---------------------------------------------
- Fix D-Bus connection leak in Nepomuk search backend.
- Disable slow query logging by default for internal MySQL.
1.3.0 20-January-2010
---------------------------------------------
- Work around D-Bus bug that could cause SEARCH to hang.
1.2.90 06-January-2010
---------------------------------------------
- Fix change notifications for search results.
- Fix database creation with PostgreSQL.
- Fix copying of item flags.
- Fix internal MySQL shutdown.
- Support PostgreSQL in internal mode.
- Fix table name case mismatch.
1.2.80 01-December-2009
---------------------------------------------
- Support for collection content type filtering as part of LIST.
- Adapt to Nepomuk query service changes.
- Experimental support for PostgreSQL.
- Support for preprocessor agents.
- Support for distributed searching.
- Support for agents creating virtual collections.
- Protocol parser fixes for non-Linux/non-KDE clients.
- Support for single-shot searches using the Nepomuk query service.
- Support HRID-based LIST operations.
- Support RID-based MOVE, COLMOVE, LINK and UNLINK opertions.
- Respect cache-only retrieval also regarding on-demand syncing.
- Add configuration accepted/rejected signals to the agent interface.
- Fix change notification compression when using modified parts sets.
- Use one retrieval pipeline per resource.
- Reduce unecessary change notification on flag changes.
- Fix RID quoting.
- Fix resource creating race for autostarted agents.
- Create new database also when using external db servers.
- Return the created result collection when creating a persistent search.
milter manager is a milter to use multiple milters effectively.
If milter manager is introduced, milter manager administrates milters instead of
MTA. The was has some advantages:
* reduce milter administration cost
* combine milters flexibly
* The random scrolling problem on selecting folders with GTK+ 2.12 or later
was fixed.
* The problem that config files are not updated after creating new accounts
was fixed.
* The problem that folder config file was not updated after changing IMAP
or News account name was fixed.
* Several typos in some dialogs were fixed.
* The Japanese manual was updated.
This release of ClamAV introduces new malware detection mechanisms and other
significant improvements to the scan engine. The key features include:
- The Bytecode Interpreter: the interpreter built into LibClamAV allows
the signature writers to create and distribute very complex detection
routines and remotely enhance the scanner's functionality
- Heuristic improvements: improve the PE heuristics detection engine by
adding support of bogus icons and fake PE header information. In a
nutshell, ClamAV can now detect malware that tries to disguise itself
as a harmless application by using the most common Windows program icons.
- Signature Improvements: logical signature improvements to allow more
detailed matching and referencing groups of signatures. Additionally,
improvements to wildcard matching on word boundaries and newlines.
- Support for new archives: 7zip, InstallShield and CPIO. LibClamAV
can now transparently unpack and inspect their contents.
- Support for new executable file formats: 64-bit ELF files and OS X
Universal Binaries with Mach-O files. Additionally, the PE module
can now decompress and inspect executables packed with UPX 3.0.
- Support for DazukoFS in clamd
- Performance improvements: overall performance improvements and memory
optimizations for a better overall resource utilization experience.
- Native Windows Support: ClamAV will now build natively under Visual
Studio. This will allow 3rd Party application developers on Windows
to easily integrate LibClamAV into their applications.
The complete list of changes is available in the ChangeLog file. For upgrade
notes and tips please see: https://wiki.clamav.net/Main/UpgradeNotes096
Pkgsrc changes:
- Removed most of the package options; using the options framework for
those choices was not quite correct in the first place. Some have now
fixed values (Perl warnings and taint checks always enabled), some
got converted to variables settable from the make command line, see
options.mk.
- pkglint complained about the variable PLIST_ADD so I renamed it to
DYNAMIC_PLIST.
- SpamAssassin does not come with rules anymore. As a starting point
the official archive of rules at the time of the SA release is
included. At installation time this set of rules gets installed
through the pkgsrc INSTALL file.
- Removed patch-ba and patch-bc, both were integrated upstream.
- Removed patch-be. The quick fix for the bad rule was replaced by
a permanent solution.
Summary of major changes since 3.3.0
====================================
bug 6335: add Spamhaus DBL as URIBL_DBL_SPAM rule
Bug 6370: update ImageInfo plugin to latest release
bug 6215, bug 6294: RCVD_IN_CSS rule was broken. the check_rbl_sub() syntax
was incorrect, resulting in missing hits
bug 6361: list 2tld and 3tld sub-domain hosters for URIBL/SURBL/DBL queries;
NOTE for SARE users: This file replaces the SARE file
http://www.rulesemporium.com/rules/90_2tld.cf, which will be deprecated as from
2010-05-01.
Bug 6369, 6356, 6373: WIN32 support for spamd improved
Bug 6267: Solaris 10 requires --syslog-socket=native
bug 6304 spamd is spawning and killing processes too often - Added spamd
adjustments to info level and more information for administrators + small fix
to Makefile.PL
Bug 6310: sa-learn --import gives Insecure dependency in open
Bug 6313: -Q or -q AND -x should not result in creation of a ~/.spamassassin
dir; plus: taint issues fixed
Bug 6342: make test failure on if_can under perl 5.6
Bug 6340: Impossible to find user home directory of VPOPMAIL alias
Bug 6072, 6343: POD warnings, documentation fixes
Bug 6304 (trivial), reduce sysadmin's stress level by lowercasing
the 'INTERRUPTED' in a logged message:
spamd: handled cleanup of child pid [...] due to SIGCHLD: INTERRUPTED
Bug 6329: POSIX::strftime in call under Win32 ActivePerl causes Perl to hang up;
formatting option %e is not in a POSIX standard, use %d instead and edit
Bug 6322: In DKIM ADSP eval test check_dkim_adsp() the '*' is handled incorrectly
Bug 6327: Fix calling argument in utility used to determine DCC's homedir
Bug 6316: DCC.pm, wrong options for dcc_proc, (plus: avoid a warning on undef
in logger when dccifd socket is not provided)
Bug 6287: improved DKIM plugin debugging
Bug 6321 - _TOKENSUMMARY_ not working in 3.3.0 (Plugin/Bayes.pm looks-up a tag
from wrong location)
Bug 6312 - uninitialized value $start_time in spamd
bug 5761: trivial doc fix: document SPAMD_LOCALHOST test-control env variable
Summary of major changes since 3.2.5
====================================
COMPATIBILITY WITH 3.2.5
- rules are no longer distributed with the package, but installed by
sa-update - either automatically fetched from the network (preferably)
or from a tar archive, which is available for downloading separately
(see below, section INSTALLING RULES);
- CPAN module requirements:
- minimum required version of ExtUtils::MakeMaker is 6.17;
- modules now required: Time::HiRes, NetAddr::IP (4.000 or later),
Archive::Tar (1.23 or later), IO::Zlib;
- minimal version of Mail::DKIM is 0.31 (preferred: 0.37 or later);
expect some tests in t/dkim2.t to fail with versions older than 0.36_5;
- no longer used: Mail::DomainKeys, Mail::SPF::Query;
- either Digest::SHA or the older Digest::SHA1 is required, though
note that the DKIM plugin requires Digest::SHA for sha256 hashes
and Razor agents still need Digest::SHA1;
- some IPv6 functionality requires IO::Socket::INET6;
- if keeping the AWL database in SQL, the field awl.ip must be extended to
40 characters. The change is necessary to allow AWL to keep track of IPv6
addresses which may appear in a mail header even on non-IPv6 -enabled host.
While at it, consider also adding a field 'signedby' to the SQL table 'awl'
(and adding 'auto_whitelist_distinguish_signed 1' to local.cf);
see sql/README.awl for details. The change need not be undone even if
downgrading back to 3.2.* for some reason;
- fixing a protocol implementation error regarding a PING command required
bumping up the SPAMC protocol version to 1.5. Spamd retains compatibility
with older spamc clients. Combining new spamc clients with pre-3.3 versions
of a spamd daemon is not supported (but happens to work, except for the
PING and SKIP commands);
- if using one of the plugins (FreeMail, PhishTag, Reuse) which were
previously not part of the official package, please retire your local copy
to avoid it conflicting with a new native plugin;
- as the plugin AWL is no longer loaded by default, to continue using it
the following line is needed in one of the .pre files (e.g. local.pre):
loadplugin Mail::SpamAssassin::Plugin::AWL
- it may be worth mentioning that a rule DKIM_VERIFIED has been renamed
to DKIM_VALID to match its semantics;
- the DKIM plugin is now enabled by default for new installs, if the perl
module Mail::DKIM is installed. However, installation of SpamAssassin
will not overwrite existing .pre configuration files, so to use DKIM when
upgrading from a previous release that did not use DKIM, a directive:
loadplugin Mail::SpamAssassin::Plugin::DKIM
will need to be uncommented in file "v312.pre", or added to some
other .pre file, such as local.pre;
- due to changes in some internal data structures (like Bug 6185, 6254),
some third-party plugins may need to be updated. One such example is
the ClamAVPlugin plugin - please find a fresh version, which can be used
with both SpamAssassin versions 3.2.5 and 3.3.0, on its wiki page at
http://wiki.apache.org/spamassassin/ClamAVPlugin
- versions of amavisd-new between 2.5.2 and 2.6.1 (inclusive) are incompatible
with SpamAssassin 3.3; please upgrade amavisd to 2.6.2 or later, or apply
a workaround https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6257
- support for versions of perl 5.6.* is being gradually revoked
(may still work, but no promises and no support);
- preferred versions of perl are 5.8.8, 5.8.9, and 5.10.1 or later;
- on FreeBSD, please avoid using multithreaded versions of perl older
than 5.10.0 due to small default main thread's stack size, which may
not suffice for some regular expression evaluations;
INSTALLING RULES
Rules are normally installed by running a sa-update command.
The version of sa-update program should match the version of SpamAssassin
modules, so invoking sa-update should be performed only after installing
or upgrading SpamAssassin code, not before.
Installing rules from network is done with a single command,
normally run as root:
sa-update
Installing rules from files:
obtain all the following files:
Mail-SpamAssassin-rules-xxx.tgz
Mail-SpamAssassin-rules-xxx.tgz.asc
Mail-SpamAssassin-rules-xxx.tgz.md5
Mail-SpamAssassin-rules-xxx.tgz.sha1
(where xxx may look something like '3.3.0.r893295')
install rules from a compressed tar archive:
sa-update --install Mail-SpamAssassin-rules-xxx.tgz
(sa-update will need corresponding .asc and .sha1 files with the
same base name in the same directory as the .tgz file)
MAIN NEW FEATURES
- IPv6 support was substantially improved (see below);
- many improvements to the DKIM plugin (understands author domain signatures,
supports multiple signatures, ADSP support with overrides) - (see below);
- added 'if can(Class::method)' conditional statement, allowing configuration
settings to be conditional on plugin capabilities without requiring
new version releases to do so;
- added a --verbose option to the sa-update utility to show updated channels;
- added a configuration option 'time_limit', defaulting to 300 seconds
or whatever the caller (like spamd) provides; attempting to gracefully
terminate the checking when a time limit is reached, reporting the score
and test hits that were collected so far, along with an added hit on
a rule TIME_LIMIT_EXCEEDED;
- more expensive code sections are now instrumented with timing measurements;
timing report is logged as a debug message by the end of processing,
and made available to a caller and to 'add_header' directives through
a TIMING tag;
- added a configuration option skip_uribl_checks to the URIDNSBL plugin,
cross-documented it with skip_rbl_checks;
- preserve order of declared 'add_header' header fields;
- configurable network mask length for the AWL plugin (see below);
- added support for DCC reputations (see below);
- improved error handling and robustness (see below);
- added timestamps when logging on stderr;
- allowed debug areas to be excluded from debugging,
e.g.: -D all,norules,noconfig,nodcc
BUILDING AND PACKAGING
- rules are no longer distributed with the package, but installed by
sa-update
- Makefile.PL has been simplified and a bug fixed in a DESTDIR support
by increasing the minimum required version of ExtUtils::MakeMaker to 6.17
- tools check_whitelist and check_spamd are now included in the distribution,
now called 'sa-awl' and 'sa-check_spamd'
WORKAROUNDS TO PERL BUGS AND LIMITATIONS
- modified the Check.pm plugin to produce smaller chunks of source code
from rules (60 kB) to avoid Perl compiler crashing on exceeding stack size;
- localized global variables $1, $2, etc at several places, avoiding taint
issue from propagating;
- avoided Perl I/O bug by replacing line-by-line reading with read() where
suitable, or played down the EBADF status in other places and only report
it as a dbg instead of a die - while also providing a little speedup
(10 .. 25 %) on reading a message;
- provided a new sub Message::split_into_array_of_short_lines to split
a text into array of paragraph chunks of sizes between 1 kB and 2 kB,
giving less opportunity to runaway regular expressions in rules;
fixes bugs: 5717, 5644, 5795, 5486, 5801, 5041;
MEMORY FOOTPRINT
- as a side-effect of compiling rules in smaller chunks (to avoid compiler
crashes), virtual memory footprint of SpamAssassin is reduced;
- saved some memory by not importing the Pod::Usage unless it is needed;
- saved 350k+ of memory in sa-compile by replacing DynaLoader with XSLoader;
- removed unneeded index from MySQL bayes_token table;
IPv6 SUPPORT
- added IPv6 support for trusted_networks, internal_networks, msa_networks,
whitelist_from_rcvd, and other stuff that uses NetSet and the Received
header field parser, using NetAddr::IP;
- allowed usage of a remote dccifd host through an INET or INET6 socket;
- added IPv6 support to AWL plugin and its utility modules; a network
mask length is now configurable and defaults to /48, which controls
what data is stored in an AWL database;
- sql/README.awl and sql/awl_*.sql: increased suggested awl.ip field width
to 40 characters to be able to hold IPv6 addresses;
- IP_PRIVATE now includes ipv6 variants of private address space,
as well as the ipv6-mapped ipv4 addresses.
- NetSet now understands that ::ffff:192.168.1.2 and 192.168.1.2 are
the same address;
- IPv6 addresses are now properly read from Received header fields;
- when reading Received header fields, the "IPv6:" prefix is stripped from
IPv6 addresses, and "::ffff:" is removed from IPv6-mapped IPv4 addresses
(so strings can match them as simply IPv4 addresses);
- ::1/128 is always included in the trusted_networks/internal_networks set
similar to 127.0.0.0/8;
- some of the IPv6 functionality in SpamAssassin requires that a perl module
IO::Socket::INET6 is available (like accessing a DNS resolver over inet6,
talking to a dccifd host over inet6 socket, SPAMC protocol);
SPAMC
- Mail::SpamAssasin::Client ping may erroneously result in broken pipe;
bump spamc protocol version to 1.5, updated spamd, spamc and Client.pm;
- added -n / --connect-timeout switch to spamc, allowing to separate
a connection timeout from communication timeout;
- added --filter-retries and --filter-retry-sleep;
- increased allowed line length in spamc.conf files to 8 KiB and report
an error when the limit is exceeded;
- fixed issue where spamc would not time out connections to a hung spamd;
- spamc client library leaked the zlib compression buffer if compression
is used;
- spamc long option '--dest' was broken;
SPAMD
- when spamd is started with the daemonize option do not exit the parent
until a child signals that it has logged the pid, to allow a wrapper
script to simply continue immediately after starting spamd;
- additional tempfile cleanup in kill_handler;
- added SPAMD_LOCALHOST option to "make test" to allow specifying
non-127.0.0.1 IP address for use in FreeBSD jail;
API
- adding one optional argument to Mail::SpamAssassin::parse allows caller
to pass additional out-of-band information to SpamAssassin (such as a
deadline time, DKIM verification results, information about a SMTP session,
or dynamic rule hits); this information is made available to plugins and
the rest of the code through a 'suppl_attrib' hash;
- added option 'master_deadline' to the suppl_attrib argument of a
Mail::SpamAssassin::parse method, allowing the caller to override a
time_limit configuration setting;
- Plugin::Check - pick up 'rule_hits' from caller via the new mechanism
and call got_hit() on them;
- simplified adding dynamic score hits and dynamic rules by plugins
(such as AWL, CRM114, FuzzyOcr, Check) by letting got_hit() accept
options tflags and description, and letting it store a supplied
dynamic score for proper reporting;
- let the timing breakdown information be accessible to a caller through
the existing get_tag mechanism (tag TIMING);
- let the generated header fields ('add_header' configuration options)
be accessible to a caller through the existing get_tag mechanism
(tags ADDEDHEADER, ADDEDHEADERHAM, ADDEDHEADERSPAM);
RULES
- rules are no longer distributed with the package;
- new scores were generated by a genetic algorithm (GA) and then manually
tweaked based on cleaned datasets supplied by a dozen volunteers;
- dropped redundant rules or rules causing too many false positives;
- added or updated many rules; incomplete list in no particular order:
vbounce, lotsa_money, muchmoney, image spam, fill_this_form, FreeMail,
European Parliament, HTML attachments, uri_obfu*, urinsrhsbl, urinsrhssub,
urifullnsrhsbl, URI_OBFU_X9_WS, rDNS=localhost, INVALID_DATE_TZ_ABSURD,
RCVD_IN_PSBL, FRT_VALIUM*, BOUNCE_MESSAGE, VBOUNCE_MESSAGE,
__BOUNCE_UNDELIVERABLE, HELO_STATIC_HOST, FILL_THIS_FORM_FRAUD_PHISH,
CHALLENGE_RESPONSE, DKIM_VALID, DKIM_VALID_AU, DKIM_ADSP_*,
NML_ADSP_CUSTOM_{LOW,MED,HIGH}, __VIA_ML, MIME_BASE64_TEXT, LOTTO_URI,
FORGED_MUA_THEBAT_BOUN, FORGED_MUA_THEBAT_CS, UNRESOLVED_TEMPLATE,
__THEBAT_MUA, __ANY_OUTLOOK_MUA, RP_MATCHES_RCVD, one-word X-Mailer,
SPAN rules, skype and misquoted-HTML rules, HTML obfuscation and
Google feedproxy URI rules, advance_fee updates including further
evolved advance fee second-order metarules, test rule for
postmaster+abuse missing, FROM_MISSPACED, fixed FROM_CONTAINS_TAB, a
Facebook redirector pattern, fixed FPs with TVD_SPACE_RATIO regarding
one-word emails and ISO-2022-JP, added exclusion for __ISO_2022_JP_DELIM
to OBFUSCATING_COMMENT, GAPPY_SUBJECT, PLING_QUERY and FM_FRM_RN_L_BRACK
rules, RATWARE_BOUNDARY plus variant, superseded all previous
RATWARE_OUTLOOK stuff, resolved FP in obfuscated URI rule, fixed breakage
in tbird image rule, fixed SUBJECT_FUZZY_MEDS FP on unobfuscated "meds",
added misspaced From header field rule, numeric+cctld URI rule,
updated FH_DATE_PAST_20XX, ...
- added PSBL blacklist - http://psbl.surriel.com/
- added support for http://www.spamhaus.org/css/
- replaces HABEAS, BSP and SSC with RP CERTIFIED;
- use ReturnPath's RNBL, replacing SSBL;
- added rule for plain text attachments with octet-stream MIME type;
- avoided false positives on ISO-2022-JP messages in several rules;
- removed massmailers from uridnsbl_skip_domain in 25_uribl.cf;
- updated various default whitelists, uridnsbl_skip_domain, adsp_override, ...
PLUGINS
- new plugins: FreeMail, PhishTag, Reuse;
- now enabled by default: DKIM;
- now disabled by default: AWL;
- retired plugin: DomainKeys;
AWL PLUGIN
- plugin AWL is now disabled by default;
- added new configuration options auto_whitelist_ipv4_mask_len and
auto_whitelist_ipv6_mask_len to allow more control on what part of
an IP address is stored into an AWL database;
- README.awl: increased a suggested awl.ip field width to 40 characters
to support IPv6 addresses;
- AutoWhitelist.pm: allowed storing a canonicalized IPv6 address, cropped
to a configurable network mask (previously causing SQL server errors:
'value too long');
- let AWL with SQL keep separate records for DKIM-signed and unsigned mail
(when auto_whitelist_distinguish_signed configuration option is true,
and a field awl.signedby exists);
- avoided a race condition in SQLBasedAddrList.pm when multiple processes
try to insert-or-update an awl SQL record: trying INSERT first, and if
that fails go for UPDATE;
- gracefully handle NaN from corrupted database or a broken emulator or
virtualizer;
DCC PLUGIN
- added support for DCC reputations, added setting dcc_rep_percent,
new test check_dcc_reputation_range(), new tag DCCREP
(DCC servers supply reputation data only to licensed clients);
- allowed usage of a remote dccifd host through an INET or INET6 socket;
DKIM PLUGIN
- the DKIM plugin is now enabled by default for new installs if the perl
module Mail::DKIM is installed. However, installing SpamAssassin will
not overwrite existing .pre configuration files, so to use DKIM when
upgrading from a previous release that did not use DKIM, the directive:
loadplugin Mail::SpamAssassin::Plugin::DKIM
will need to be uncommented in file "v312.pre", or added to some
other .pre file, such as local.pre;
- absolute minimal version of Mail::DKIM is 0.31;
support for ADSP requires Mail::DKIM 0.34;
a DNS test (and rule) for NXDOMAIN is operational since Mail::DKIM 0.36_5,
so effectively the recommended version is Mail::DKIM 0.37 or later;
- a perl module Digest::SHA is required if the DKIM plugin is enabled.
If a perl module Digest::SHA is available, the module Digest::SHA1
becomes optional as far as SpamAssassin is concerned, but is still
needed by Razor agents;
- added support for multiple signatures (useful for whitelisting);
- plugin now distinguishes author domain signatures from third party
signatures (useful for whitelisting);
- provides a tag DKIMIDENTITY (in addition to DKIMDOMAIN);
- DKIM now supports Author Domain Signing Practices - ADSP (RFC 5617);
- use the Mail::DKIM::AuthorDomainPolicy instead of Mail::DKIM::DkimPolicy,
when available (since Mail::DKIM 0.34);
- implements an 'adsp_override' configuration directive and adds
an eval:check_dkim_adsp check, which is used by new DKIM_ADSP_* rules;
- rules contain an initial set of 'adsp_override' directives, listing
some of the more popular target domains for phishing (applicable only to
domains which sign all their direct mail with a DKIM or DK signature);
- this plugin can now re-use Mail::DKIM verification results if made
available by a caller, which saves resources and makes it possible
for SpamAssassin to work on a truncated large mail without breaking
DKIM signatures;
- check_dkim_signed and check_dkim_adsp eval rules can now take an optional
list of domain names, which limits their action to listed domains only.
It facilitates building DKIM-based rules for specific domains, without
having to resort to meta rules;
- draft-ietf-dkim-ssp-10/RFC-5617 made Author Domain Signature based on 'd':
updated ADSP code accordingly; changed whitelisting code to be based on
SDID ('d') instead of AUID ('i');
- Plugin/DKIM.pm: terminology changes in comments and logging according
to RFC 5617 and draft-ietf-dkim-rfc4871-errata-07;
BUG FIXES
- fixed Rule2XSBody segfaults;
- no longer treat user data as perl booleans (a string "0" is a false);
- avoid data from the wild be interpreted as perl regular expressions;
- ArchiveIterator: prevent _scan_directory from passing directories
to _scan_file (on NFS it would fail with EISDIR on read(2);
- fixed inserting the SpamAssassin -generated header fields after a
multiline Return-Path header field;
- fixed vpopmail support;
- fixed incorrect mode bits when creating lock files for AWL;
- fixed some cases where :addr headers were parsed incorrectly;
- fixed leakage of 'whitelist_from_rcvd' entries between spamd users;
- fixing run_and_catch, which failed to catch a non-timed run;
- 127/8 isn't an illegal IP;
- reworked the M::S::Timeout module to deal with nested timers as one would
expect: an inner timer shouldn't be able to extend an outer timer's limit;
account for time elapsed in the submitted subroutine when restarting an
outer timer; reset() should have accounted for time already spent;
deal with nested timed runs where alarm(0) does not provide remaining time;
- the 'exists:' evaluator in HEADER rules now works as documented
and tests for existence of a header field, instead of testing for
a header field body being nonempty; internally, the pms->get can
also now distinguish between empty and nonexistent header fields;
- applied fixes to header fields parsing in several places: header field
names are case-insensitive, whitespace is not required after a colon,
obsolete rfc822 syntax allowed whitespace before a colon;
VBounce: match "Received:" only at the beginning of a line;
- fixed bugs 6237 and 6295: 1.0.0.0/8 and 2.0.0.0/8 are now valid allocated
address ranges, fixed a corresponding rule RCVD_ILLEGAL_IP;
- fixed bug 6205 comment 5 in URIDetail.pm;
- 'pyzor_options' in Plugin/Pyzor.pm was not untainted;
- made the URIDetail plugin taint safe;
- fixed parsing of multi-line Received header fields for
BOUNCE_MESSAGE/VBOUNCE_MESSAGE et al;
- Bug 6206, Bug 2536: spamd: untaint directory as obtained from a password
file or from vpopmail utilities, avoid implicit untainting; report error
if user preferences file exists but cannot be accessed;
- avoided using raw data from DNS as a regexp in Plugin/ASN.pm;
- ensured the dbg() and info() calls always return the same value (true)
regardless of log level;
- suppressed logging of $& when its value is not available (i.e. when
no regexp has been evaluated during rule evaluation);
- Exporter never really worked in SA, was not enclosed in BEGIN {};
- masses/runGA and masses/mk-baseline-results: prevent a shell 'source'
command from loading an unrelated file named 'config' which happens to be
in the current PATH - must use a ./ in an arg to a 'source' command;
ERROR HANDLING, ROBUSTNESS
- improved error detection and reporting: test status of all system calls
and I/O operations (or explicitly document where not), and report
unexpected failures;
- eval calls now check for eval result instead of testing the $@, which
is not always reliable;
- localized $@ and $! in DESTROY methods to prevent potential calls to eval
and calls to system routines in code executed from a DESTROY method
from clobbering global variables $@ and $!;
- Util::helper_app_pipe_open_unix: contain a failing exec with an eval
to prevent additional cases of process cloning. The exec could fail
this way when given tainted arguments;
- Util::helper_app_pipe_open_unix: flush stdout and stderr before forking,
otherwise an error reported by exec (such as 'insecure dependency')
was lost in a buffer;
- eval-protected an open($fh,'-|') to capture implied fork failures
due to lack of system resource;
- explicit untainting: combine "use re 'taint'" with untaint_var(),
avoiding implicit perl untainting, along with workarounds to prevent it;
- added 'use strict' where missing;
- avoided a bunch of warnings on "Use of uninitialized value";
- clearly report reasons for helper application process failures;
- t/SATest.pm: provide information about the process failure reason
if a system() call fails; improved its reporting of failures;
- improved error reporting in Plugin/DCC.pm on finding a DCC home directory
to facilitate troubleshooting;
OTHER CHANGES
- pseudoheader "ALL:raw" returns a pristine header section,
and pseudoheader "ALL" returns a cleaned header section
- total rewrite of URI detection in plain text body;
- many updates to the list of top level domains;
- added 'util_rb_3tld', allowing 3-level TLDs to be listed in URIBLs and
allowing new 3TLDs to be added from rule updates;
- avoided trusted_networks bog down due to O(n^2) loop with millions
of entries;
- applied fixes to Plugin/VBounce.pm, updated VBounce ruleset;
- added support for a 'Communigate Pro' Received header field;
- parse Communigate Pro "with HTTPU" auth token;
- let DependencyInfo.pm understand a concept of recommended module version,
besides a required version;
- provided a workaround for Net::DNS::Packet::new inconsistency;
- let SpamAssassin use either Digest::SHA or Digest::SHA1, whichever is
available (the Digest::SHA is now a base module since perl 5.10.0);
- improved parsing of eval-type rules: allow unquoted domain names as
arguments, disallow unmatched quotes;
- provided a new module Mail::SpamAssassin::BayesStore::BDB. It should be
treated as alpha-quality (needs more testing) and is not yet ready for
production use;
- exposed existing function 'received_within_months' as an eval function
in Plugin/HeaderEval.pm;
- moved rc script to /var/lock/subsys/spamd instead of
/var/lock/subsys/spamassassin so 'service spamd status' will work;
- added feature to re-download MIRRRORED.BY files at least once a week, or if
'sa-update --refreshmirrors' switch is used;
- input delimiter $/ can be corrupted by a plugin, localize $/ and $\ before
calling a plugin;
- bumped the retry counter to 180 seconds for starting spamd on slow machines;
- resolved Bug 5325: syslog severity level in spamc/libspamc.c for max
message size (changed LOG_ERR into LOG_NOTICE for the message:
"skipped message, greater than max message size");
- added checker to avoid taint warnings if hostname is returned as '(none)';
- altered sa-update to produce an error message if a channel doesn't exist;
- Bug 6150, Bug 6127, Bug 5981, Bug 5950, Bug 6191: let spamd log/report
a child process exit status or aborting condition in an informative way;
- added checker to detect accidental match-everything regexps in rules;
- updated garescorer for 3.3.0: use more epochs in GA runs for better scores;
clarify some mass-check warning output, ensure rule name always appears at
start of line; if a rule had no default/existing score in 50_scores.cf,
don't tell the GA that 1.0 is an appropriate default value, instead pick
the midway point of its score range. this produces better results;
remove some dead code from masses/score-ranges-from-freqs;
- set garescorer.c to report performance as iterations per second;
- added test to ensure that all config settings are correctly handled when
switching between users; added more config setting type metadata to enable
those tests to work; and fix URIDetail to store config on the {conf} object,
not on the plugin;
- moved 'release tests' to xt/ directory; mirror long-running, net-tests and
stress tests with xt/50_testname.t scripts to enforce their run before a
release;
- made numerous additional and updated self-tests;
- added a Test::Perl::Critic release-test;
- cleaned up some code based on suggestions by perl module Test::Perl::Critic,
among others:
. enable TestingAndDebugging::ProhibitNoStrict test but allow the
use of 'no strict "refs"';
. deal with BuiltinFunctions::RequireGlobFunction;
. deal with ControlStructures::ProhibitMutatingListFunctions
removing this exception from xt/60_perlcritic.t;
. deal with BayesStore/BDB.pm, Variables::ProhibitConditionalDeclarations
. now that the module Time::HiRes is a required module, we can afford
to replace a select() with Time::HiRes::sleep, and remove exception
BuiltinFunctions::ProhibitSleepViaSelect from xt/60_perlcritic.t;
- updated documentation, fixing numerous typos and mistakes in documentation
text and in log messages;
- extensively improved development process:
. automated testing through Hudson, a continuous integration tool;
. improved mass-check system and rules oversight;
mbox users really should upgrade, because by sending a message with a huge
header you could basically cause a DoS (this problem exists only with v1.2.x,
not with v1.0 or v1.1).
- mbox: Message header reading was unnecessarily slow. Fetching a huge header
could have resulted in Dovecot eating a lot of CPU. Also searching messages
was much slower than necessary.
- mbox, dbox, cydir: Mail root directory was created with 0770 permissions,
instead of 0700.
- maildir: Reading uidlist could have ended up in an infinite loop.
- IMAP IDLE: v1.2.7+ caused extra load by checking changes every 0.5 seconds
after a change had occurred in mailbox
Close the configuration file after reading it, plugging a
descriptor leak.
Release memory associated with old configuration nodes (i.e. strings)
as well as the nodes themselves.
Connect the configuration handle to its allocated data so cleanup can
actually be thorough.
Fix an error message reported inside _FFR_REPLACE_RULES.
Plug a memory leak in mlfi_header() tripped when errors occur.
Since ADSP has not yet been registered by IANA, adjust its method
label in Authentication-Results accordingly.
Include selector, domain and other text if possible when logging
key retrieval failures.
Add _FFR_SENDER_HEADERS, allowing user control over which header
fields are used to make the sign/verify decision and
perform key selection.
LIBDKIM: Initialize canon_lastchar in dkim_add_canon().
LIBDKIM: Clean up any compiled regular expressions in dkim_close().
LIBDKIM: Fix some type-related compiler warnings.
SPF sender authentication systems.
Sender-ID and SPF have both been published by the IETF (RFC4406 and RFC4408,
respectively) as experimental proposals.
This package consists of a library that implements the record parsers needed
to provide the authentication service, and a milter-based filter application
that can plug in to the sendmail MTA to provide that service to sufficiently
recent sendmail and postfix MTAs.
An optional asynchronous resolver library is also provided to work around
limitations of the basic BIND resolver which comes installed on most
systems.
While here, set LICENSE=gnu-gpl-v2 and add user-destdir installation support.
News
~~~~
THIS PROJECT IS NO LONGER BEING MAINTAINED. IF IT DOESN'T WORK FOR YOU SEE
THESE LINKS <http://esmtp.sourceforge.net/links.html>.
* Version 1.2 (2009-12-24):
* Make force_mda in the esmtprc to work with the -t option (based on patch
by Sourav K. Mandal)
* Version 1.1 (2009-12-16):
* Option to force local only MDA (Robert A.M. Diamond).
* Use locking in esmtp-wrapper (Phil Sutter).
* Update mutt option name in the user manual (Wu Fengguang).
* Version 1.0 (2008-10-09):
* Fix NTLM authentication (Nils Rennebarth).
* Option to disable Message-ID header (Phil Sutter).
* Version 0.6.0 (2007-09-03):
* Handle CR-LF newline endings when parsing the headers.
* Wrapper script for off-line mail delivery (Phil Sutter).
* Document how to get CA certificates.
* Corrections to the manpages (Reuben Thomas).
* Tips for adding missing Date: headers in messages for local delivery
(Bruce Schultz).
* Use a reasonable default for the reverse path when one is not
specified, instead of an empty one.
* Prevent segfault expanding %F in the MDA string when the reverse
path is not specified.
pkgsrc changes:
- Add license definition
- Adjust dependencies
Upstream changes:
0.23 2010-01-30
- removed Email::Send::Test from t/lib/* views
0.22 2010-01-28
- small fixes, version bumpage etc
0.21_01 2010-01-27
- dev release to test recent fixes
0.21 2010-01-27
- provided a sane MANIFEST.SKIP for dzil
0.20 2010-01-26
- fix transport instantiation thanks to Chris Nehren <apeiron@cpan.org>
0.19 2010-01-18
- fixed optional dependencies
- added META stuff back in
0.18 2010-01-17
- Fixed version dependencies for failing regressions
- added Email::Send::Test as a dependency
0.17 2010-01-14
- fixed MANIFEST
0.16 2010-01-12
- Fixed a Makefile.PL issue
0.15 2010-01-12
- Fixed teeny version issue with Email::Sender::Simple
0.14 2010-01-09
- Ported over to using Email::Sender::Simple, and Moose
- Fixed Mason test so that it doesn't choke, as around 'process'
seems to make it die.
pkgsrc changes:
- Adjust license
- Adjust dependencies
Upstream changes:
0.100460 2010-02-15 12:58:18 America/New_York
avoid using AutoPrereq, as it brings in build_requires as requires
0.100450 2010-02-14 17:55:48 America/New_York
allow timeout option to SMTP transport
0.100110 2010-01-11 10:43:57 America/New_York
Email::Sender::Failure is now a Throwable::Error
now uses Try::Tiny for internal exception handling
0.093380 2009-12-04 12:29:55 America/New_York
bump Moose prereq to 0.70 based on feedback from ANDK
0.093110 2009-11-07
allow uppercase env vars to set transport attributes (charsbar)
add "message" attribute to successes returned by SMTP transports
0.092840 2009-10-10
fix packaging error
0.092820 2009-10-09
improve reliability of t/sendmail.t (thanks, Mark Grimes)
0.091940 2009-07-12
packaging fixes (EU:MM version for LICENSE param) rt #47817
0.091930 2009-07-12
add some more common sendmail locations to default search
0.091870 2009-07-06
exclude unwanted methods from Email::Sender::Transport
to suppress a new warning from Moose role composition
0.091740 2009-06-23
no code changes
remove prereq of Test::More 0.88; weird things happened
0.091661 2009-06-15
THIS RELEASE MAY BREAK YOUR CODE... but probably not
Email::Sender::Simple has been added, along with a manual
Email::Sender is now a role
Email::Sender::Transport is now a role, too; subclasses will break