* TinyMCE 3.4.2 now compatible with IE9
* PEAR::Net_SMTP 1.5.2, fixed timeout issue
* Fix bug where template name without plugin prefix was used in render_page hook
* Support 'abort' and 'result' response in 'preferences_save' hook, add error
handling
* Fix bug where some content would cause hang on html2text conversion
* Improve space-stuffing handling in format=flowed messages
* Fix bug where some dates would produce SQL error in MySQL
* Added workaround for some IMAP server with broken STATUS response
* Fix bug where default_charset was not used for text messages
* Stateless request tokens. No keep-alive necessary on login page
* Force names of unique constraints in PostgreSQL DDL
* Add code for prevention from IMAP connection hangs when server closes socket
unexpectedly
* Remove redundant DELETE query (for old session deletion) on login
* Get around unreliable rand() and mt_rand() in session ID generation
* Fix some emails are not shown using Cyrus IMAP
* Fix handling of mime-encoded words with non-integral number of octets in
a word
* Fix parsing links with non-printable characters inside
* Fixed de_CH/de_DE localization bugs
* Add variable for 'Today' label in date_today option
* Applied plugin changes since 0.5-stable release
* Fix SQL query in rcube_user::query() so it uses index on MySQL again
* Use only one from IMAP authentication methods to prevent login delays
* Fix strftime format support in date_today option
* Removed redundant </form> tags from contact add/edit pages
* Fix CSS error in contact details screen on IE7
* Sieve filter tool: finished implementing basic functionality. It is not
quite ready yet, but it is available for those willing to experiment
with it (needs --with-unfinished-features config to compile). Also
includes man page.
* Vacation extension now inhibits replies to messages from sender listed
in :addresses, thus preventing replies to one of the user's other known
addresses.
* Vacation extension: implemented the (draft) vacation-seconds extension.
This also adds min/max period configuration settings. Refer to
doc/vacation.txt for configuration information.
* ManageSieve: fixed bug in UTF-8 checking of string values. This is done
by discarding the original implementation and migrating to the Dovecot
API's UTF-8 functionality.
* Sieve command line tools now avoid initializing the mail store unless
necessary. This prevents sievec and sieve-dump from failing when
executed by root for example.
* Enotify extension: fixed inappropriate return type in mailto URI parse
function, also fixing ARM compiler warning.
* Vacation extension: fixed handling of sendmail errors. It produced an
additional confusing success message in case of error.
* Removed header MIME-decoding to fix erroneous address parsing. Applies to
address test and vacation command.
* Fixed segfault bug in extension configuration, triggered when unknown
extension is mentioned in sieve_extensions setting.
* doveadm: Added "move" command for moving mails between mailboxes.
* virtual: Added support for "+mailbox" entries that clear \Recent
flag from messages (default is to preserve them).
* dbox: Fixes to handling external attachments
* dsync: More fixes to avoid hanging with remote syncs
* dsync: Many other syncing/correctness fixes
* doveconf: v2.0.10 and v2.0.11 didn't output plugin {} section right
Changes to the Cyrus IMAP Server since 2.4.7
* Bug #3428 - allow charset argument to "thread" to be quoted
* Bug #3429 - fixed mupdate crash
* Bug #3404 - had crept back in! Fix LIST "" user properly
* Bug #3388 - fix reconstruct internaldate flap when file hardlinked
with different internaldates
* Bug #3410 - don't require a partition on murder frontends
* Bug #3406 - fix compile on FreeBSD
* Bug #3415 - fix nntpd
* Bug #3390 - add 'proc_path' config variable
* Bug #3364 - allow setting unlimited quota through a proxy server
* Bug #3433 - append '0.' file rather than deleting in reconstruct
* Fixed bug in reconstruct where a record rewrite lost the cache
pointer until you did a SECOND reconstruct (no bug number)
* Bug #3440 - fixed cyr_expire crash if run with -x
-ensure correct remote address and port is included in the Received: trace
headers generated by getmail. Previously the first address found for the
server was used even if another address was actually used to connect to the
server. Thanks: Frederic Perrin.
Partly addresses pkg/25165.
From the package's NEWS file:
2.1.14 (20-Sep-2010)
Security
- Two potential XSS vulnerabilities have been identified and fixed.
New Features
- A new feature for controlling the addition/replacement of the Sender:
header in outgoing mail has been implemented. This allows a list owner
to set include_sender_header on the list's General Options page in the
admin GUI. The default for this setting is Yes which preserves the prior
behavior of removing any pre-existing Sender: and setting it to the
list's -bounces address. Setting this to No stops Mailman from adding or
modifying the Sender: at all.
Additionally, there is a new Defaults.py/mm_cfg.py setting
ALLOW_SENDER_OVERRIDES which defaults to Yes but which can be set to No
to remove the include_sender_header setting from General Options, and
thus preserve the prior behavior completely.
- Bounce processing has been enhanced so that if a bounce is returned to a
list from a non-member who is a member of a regular_include_list, the
bounce will be processed as a bounce for the included list.
i18n
- Fixed a missing format character in the German bin/mailmanctl docstring.
- Updated Dutch translation from Jan Veuger.
- Updated Japanese Translation from Tokio Kikuchi.
- Updated Finnish translation from Joni Töyrylä.
- Made a few corrections to some Polish templates. Bug #566731.
- Made a minor change to the Chinese (China) message catalog. Bug #545772.
- Changed a few DOCTYPE directives in templates for compliance.
Bug #500952 and Bug #500955.
Bug Fixes and other patches
- Made minor wording improvements and typo corrections in some messages.
Bug #426979.
- Fixed i18n._() to catch exceptions due to bad formats. Bug #632660.
- Fixed admindb interface to decode base64 and quoted-printable encoded
message body excerpts for display. Bug #629738.
- Fixed web CGI tracebacks to properly report sys.path. Bug #615114.
- Changed the member options login page unsubscribe request to include the
requesters IP address in the confirmation request. Bug #610527.
- Changed fix_url to lock the list if not locked. Bug #610364.
- Made a minor change to the English subscribeack.txt (welcome message)
template to emphasize that a password is only required to unsubscribe
*without confirmation*.
- Fixed an issue in admindb that could result in a KeyError and "we hit a
bug" response when a moderator acts on a post that had been handled by
someone else after the first moderator had retrieved it. Bug #598671.
- Fixed a bug which would fail to show a list on the admin and listinfo
overview pages if its web_page_url contained a :port. Bug # 597741.
- Fixed bin/genaliases to not throw TypeError when MTA = None.
Bug #587657.
- Provided the ability to specify in mm_cfg.py a local domain (e.g.
'localhost') for the local addresses in the generated virtual-mailman
when MTA = 'Postfix'. See VIRTUAL_MAILMAN_LOCAL_DOMAIN in Defaults.py.
Bug #328907.
- Made a minor change to the removal of an Approved: pseudo-header from
a text/html alternative to allow for an inserted '\xA0' before the
password.
- Fixed Content Filtering collapse_alternatives to work on deeply nested
multipart/alternative parts. Bug #576675.
- We now accept/remove X-Approved: and X-Approve: headers in addition to
Approved: and Approve: for pre-approving posts. Bug #557750.
- Reordered the 'cancel' and 'subscribe' buttons on the subscription
confirmation web page so the default action upon 'enter' will be the
subscribe button in browsers that pick the first button. Bug #530654.
- Fixed a bug in the admindb interface that could apply a moderator
action to a message not displayed. Bug #533468.
- Added a traceback to the log message produced when processing the
digest.mbox throws an exception.
- Added a urlhost argument to the MailList.MailList.Create() method to
allow bin/newlist and the the create CGI to pass urlhost so the host
will be correct in the listinfo link on the emptyarchive page.
Bug #529100.
- Added the List-Post header to the default list of headers retained in
messages in the MIME digest. Bug #526143.
- When daemonizing mailmanctl, we now ensure terminal files are closed.
- Fixed a bug in pipermail archiving that caused fallback threading by
subject to fail. Bug #266572.
- We now give an HTTP 401 status for authentication failures from admin,
admindb, private, options and roster CGIs, and an HTTP 404 status from
all the CGIs for an invalid list name.
- Backported the listinfo template change from the 2.2 branch to fix
Bug #514050.
- Fixed a bug where going to an archives/private/list.mbox/list.mbox URL
would result in a munged URL if authentication was required. Bug #266164.
- Fixed a bug where check_perms would throw an OSError if an entry in
Mailman's lists/ directory was not a directory. Bug #265613.
- Fixed a bug where a message with an Approved: header held by a handler
that precedes Approve (SpamDetect by default) would not have the
Approved: header removed if the held message was approved. Bug #501739.
2.1.13 (22-Dec-2009)
i18n
- Updated Dutch message catalog from Jan Veuger.
- Added Asturian translation from Marcos Costales and the Asturian
Language Team.
Bug Fixes and other patches
- Added "white-space: pre-wrap" style for <pre> tag in archives.
Bug #266467.
- Added vette logging for rejected and discarded (un)subscribe requests.
- Fixed a bug in admindb.py that could erroneously discard an unsubscribe
request as a duplicate.
- Decoded RFC 2047 encoded message subjects for a few reports.
Bug #266428.
- Fixed the French, Spanish and Hebrew translations which improperly
translated the 'coding:' line in bin/config_list output.
- Fixed the auto-responder to treat messages to -confirm, -join, -leave,
-subscribe and -unsubscribe as requests rather than posts. Bug #427962.
- Configure/make no longer builds Japanese and Korean codecs in
pythonlib if Python already has them.
- Inadvertently setting a null site or list password allowed access
to a list's web admin interface without authentication. Fixed by
not accepting null passwords.
- Changed VERP_CONFIRM_REGEXP in Defaults.py to work if the replying
MUA folds the To: header and in cases where the list name includes '+'.
- Fixed some paths in contrib/check_perms_grsecurity.py. Bug #411192.
- Replies to commands sent to list-request now come From: list-owner
instead of list-bounces.
- Mailman no longer folds long sub-part headers in multipart messages.
In addition, Mailman no longer escapes From_ lines in the body of
messages sent to regular list members, although MTA's may do it anyway.
This is to avoid breaking signatures per Bug #265967.
- XSS protection in the web interface went too far in escaping HTML
entities. Fixed.
- Removed or anonymized additional headers in posts to anonymous lists.
- Fixed a bug that could cause incorrect threading of replies to archived
messages that arrive with timestamps in the same second.
- Scrubbed HTML attachments containing tab characters would get the tabs
replaced by a string of ' ' without a semicolon. Fixed.
- Caught a TypeError in content filtering, collapse alternatives that
occurred with a malformed message if a multipart/alternative part
wasn't multi-part. Reported in comments to bug #266230.
- Fixed a few things in bin/update:
- Changed some old messages for more current meaning.
- Fixed qfiles update to not lose metadata from 2.1.5+ format entries.
- Fixed 2.0.x template migration to not die if the templates/ tree
contains subdirectories from a version control system.
- Fixed a bug that would show a list on the admin and listinfo overview
pages if its web_page_url host contained the current host as a
substring. Bug #342162.
- Fixed a bug in Utils.canonstr() that would throw a UnicodeDecodeError
if the string contained an HTML entity > 255 and also characters in the
128-255 range. Bug #341594.
- Added recognition for more bounces.
- Updated contrib/mmdsr to report preserved messages and to use mktemp to
create temp files.
Version 1.0.23:
- No significant changes.
Version 1.0.22:
- A new command 'received_header' with a corresponding '--received-header'
option allows to disable the default Received header if required.
- A new command 'passwordeval' with a corresponding '--passwordeval' option
allows to set the password to the output of a command.
Version 1.0.21:
- No significant changes.
Version 1.0.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 mpop-gnome-tool.py manages Gnome Keyring passwords for mpop.
Version 1.0.19:
- When using OpenSSL, mpop now correctly handles NUL characters in the Common
Name and Subject Alternative Name fields of certificates. This fixes a
security problem. Note that mpop is not affected by this problem if GnuTLS is
used.
- Mpop can now handle mail boxes larger than 2 GiB on 32bit systems. Previously,
this only worked on 64bit systems.
Version 1.0.18:
- Delivery to MS Exchange pickup directories is now supported, thanks to Julien
Larigaldie.
Version 1.0.17:
- No significant changes.
Version 1.0.16:
- Mpop now also reads SYSCONFDIR/netrc if the password was not found in
~/.netrc.
- Support for the GNOME keyring was added by Satoru SATOH.
Version 1.0.15:
- This version fixes two bad bugs that prevented mpop from correctly retrieving
mails under certain cicumstances.
Version 1.0.14:
- The configuration command tls_crl_file was added. This allows to use
certificate revocation lists (CRLs) during certificate verification.
- The configuration command tls_min_dh_prime_bits was added. This is needed to
use TLS/SSL with servers that use a small Diffie-Hellman (DH) prime size.
- The configuration command tls_priorities was added. This allows to fine tune
TLS/SSL session parameters.
Version 1.0.13:
- Support for the Mac OS X keychain was added by Jay Soffian.
bugs and security fix release.
Changes to the Cyrus IMAP Server since 2.4.6
* Fixed Bug #3357 - lmtpd offering STARTTLS in pre-authorized mode.
* Fixed Bug #3392 - allowing INBOX.INBOX to be created if the case
didn't match
* Fixed Bug #3404 - incorrect LIST "" "user" response
* Fixed Bug #3417 - crash on zero-byte quota file
* Fixed numberous bugs with mailbox upgrades
* Fixed replication errors, which have been reported many times on
the mailing list, but don't have bug numbers.
* Increated "paranoia" about record ordering in mailbox, which would
have detected some bad bugs in replication that caused the infinite
runaway mailbox filling reported in 2.4.6 and below
* Increased syslogging detail about replication issues
* Fixed reconstruct crash with zero-byte index file
* Fixed cyradm perl library path finding
* Fixed incorrect use of LITERAL+ formats in our responses to
clients. Unreported, but could be causing wierd hard-to-track-down
bugs out there
* Fixed append immediately on create
* Upgraded Unicode database to version 6.0
* Fixed reconstruct crash on folder names with many digits (i.e. ebay
auction numbers)
* Fixed reconstruct crash with file called '0.'
* Made reconstruct '-n' option actually exist, as advertised in the
man page
* Fixed bug #3423 - STARTTLS plaintext command injection
vulnerability
* Bug #3382 Added "failedloginpause" config option
* Bugs #3383/3385 Removed some obsolete config options
* Bug #3389 $confdir/proc not created on the fly
* Bug #3394 fix imtest parsing of MECHLIST
* Bug #3399 fix with_ldap option default
* Bug #3307 fix mbpath crash on remote mailbox
* Bug #3420 use getpassphrase on Solaris, now passwords over 8
characters long work with cyrus tools
* Bug #3400 and others - lots of bugs with XFER between different
versions in murder clusters fixed, including a bug that caused only
mailboxes with zero messages to be rejected for upgrade
* Bug #3391 fix rename which just moves between partitions
* Bug #3103 fix imtest using plain authentication when it must not
* Bug #3426 fix TLS on sockets other than stdin
* Added support for BDB versions 5 and above
1. In addition to the existing LDAP and LDAP/SSL ("ldaps") support, there
is now LDAP/TLS support, given sufficiently modern OpenLDAP client
libraries. The following global options have been added in support of
this: ldap_ca_cert_dir, ldap_ca_cert_file, ldap_cert_file, ldap_cert_key,
ldap_cipher_suite, ldap_require_cert, ldap_start_tls.
2. The pipe transport now takes a boolean option, "freeze_signal", default
false. When true, if the external delivery command exits on a signal then
Exim will freeze the message in the queue, instead of generating a bounce.
3. Log filenames may now use %M as an escape, instead of %D (still available).
The %M pattern expands to yyyymm, providing month-level resolution.
4. The $message_linecount variable is now updated for the maildir_tag option,
in the same way as $message_size, to reflect the real number of lines,
including any header additions or removals from transport.
5. When contacting a pool of SpamAssassin servers configured in spamd_address,
Exim now selects entries randomly, to better scale in a cluster setup.
Postfix stable release 2.8.2 is available. This release has minor
fixes that are already in the experimental (2.9) release.
- Bugfix: postscreen DNSBL scoring error. When a client disconnected
and then reconnected before all DNSBL results for the earlier
session arrived, DNSBL results for the earlier session would be
added to the score for the later session. This is very unlikely
to have affected any legitimate mail.
- Workaround: the SMTP client did not support mail to [ipv6:ipv6addr].
- Portability: FreeBSD closefrom() was back-ported to FreeBSD 7,
breaking FreeBSD 7.x support retroactively.
- Portability: the SUN compiler had trouble with a pointer expression
of the form ``("text1" "text2") + constant'' so we don't try to
be so clever.
spamass-milter forks, allocates memory and then execs, violating
locking rules. This commit adds a patch from Juergen Hannken-Illjes
that moves the allocation above the fork.
TODO: upstream is recently alive again, after 5 years with no
releases. Push these fixes upstream.
Feature request #SF2964396: Allow SignHeaders, OmitHeaders and
SenderHeaders to be specified as deltas to the default lists.
Feature request #SF3053094: Correct documentation and improve function
of the AuthservID configuration setting. Requested by
Andreas Schulze.
Feature request #SF3060152: Add odkim.replace_header() function.
Feature request #SF3060161: Add odkim.del_header() function.
Feature request #SF3061189: Add new "quarantine" option to all the
various "On-" settings.
Feature request #SF3066104: Add "AnonymousDomains" configuration
option.
Feature request #SF3074290: Add _FFR_ATPS, experimental support for
draft-kucherawy-dkim-atps.
Feature request #SF3076684: Add "VBR-TrustedCertifiersOnly" flag.
Feature request #SF3080604: Add odkim.parse_field() function.
Requested by Todd Lyons.
Feature request #SF3081697: Add "OversignHeaders" configuration
option.
Feature request #SF3085536: Activate _FFR_STATS_I, providing
statistics reporting about use of "i=" in signatures.
Feature request #SF3096630: Add odkim.rbl_check() function.
Feature request #SF3097083: Make SigningTable accessible from Lua.
Feature request #SF3103095: Allow "%" in a KeyTable entry's filename
component as well as the domain name.
Feature request #SF3105480: Improved VBR correctness; don't conduct
VBR checks at all if there are disagreeing "mc" values in
multiple VBR-Info header fields.
Feature request #SF3106132: Allow "%" in a SigningTable's value.
Feature request #SF3109963: Add "MaximumSignaturesToVerify" setting.
Suggested by John Wood.
Feature request #SF3110593: Add compile-time support for GnuTLS as
an alternative to OpenSSL. Suggested by Alessandro Vesely.
Feature request #SF3136772: Sign the VBR-Info header field, if added.
Requested by Frederik Pettai.
Fix bug #SF3134119: With AutoRestart enabled, arrange to relay
SIGUSR1 from the parent to the child rather than terminating.
Reported by Yoshiaki Yanagihara.
Fix bug #SF3141313: Trim whitespace from values in in-core data
sets. Reported by Todd Lyons.
Fix bug #SF3156124: More robust handling of database disconnects.
Also add _FFR_POSTGRESQL_RECONNECT_HACK, which will hopefully
be temporary. Reported by Miha Vrhovnik.
Fix bug #SF3181180: Correct handling of quoted strings containing
parentheses (and the opposite) when parsing
Authentication-Results header fields. Reported by
Mark Martinec.
Fix back-compatibility with very old implementations of milter in MTAs.
Fix case-insensitive matching for domain names when doing signing
selection. Problem noted by John Espiro.
New configuration file options:
- "CaptureUnknownErrors", replacing the FFR of the same name
- "DNSConnect", requesting the resolver use TCP mode
- "KeepAuthResults", suppressing required removal of
Authentication-Results header fields
- "ResolverTracing", adding detailed logging of libar activity
- "StrictHeaders", requesing libopendkim to assert header
field counts according to the standards
- "UnboundConfigFile", passing a configuration file name to
libunbound (suggested by Andreas Schulze)
- "VBR-PurgeFields", removing "X-VBR-*" fields after using them
Trim whitespace from the end of all values in a config file, not just
strings. Problem noted by Reuben Farrelly.
Assume a default location for opendkim.conf. Suggested by Andreas
Schulze.
Don't needlessly demand milter features, causing aborts when they're
not available. Problem noted by Todd Lyons.
Make odkim.get_clienthost(), odkim.get_clientip() and
odkim.get_fromdomain() available in the final script.
When "SyslogSuccess" is active, log the selector and domain used.
Suggested by Miha Vrhovnik.
LIBAR: Feature request #SF3115073: Add flag for fine-grained activity
logging for debugging purposes.
LIBAR: Add support for using poll() instead of socket().
LIBOPENDKIM: Feature request #SF3087029: Add DKIM_LIBFLAGS_STRICTHDRS.
LIBOPENDKIM: Feature request #SF3089990: Add dkim_sig_getsignedhdrs().
LIBOPENDKIM: Fix bug #SF3079094: Have dkim_diffheaders() take
canonicalization into account when generating its results
to avoid false positives.
LIBOPENDKIM: Fix bug #SF3184670: Add error codes for missing and empty
"v=" tags, thus avoiding a possible assertion failure when
DKIM_LIBFLAGS_BADSIGHANDLES is in use. Reported by J. Coloos.
LIBOPENDKIM: Fix up handling of multi-TXT DNS replies inside
dkim_get_policy_dns().
LIBOPENDKIM: Add dkim_getid().
LIBOPENDKIM: Treat no answers as an NXDOMAIN with respect to
retrieving ADSP records.
LIBOPENDKIM: When an unexpected DNS type or class is received,
log the received values.
LIBVBR: Feature request #SF3105477: Copy the generic DNS work from
libopendkim.
STATS: Feature request #SF3085536: Activate _FFR_STATS_I, providing
statistics reporting about use of "i=" in signatures.
STATS: Feature request #SF3125701: Add "s=" key value tracking.
STATS: Feature request #SF3137445: Track key sizes. Suggested by
Todd Lyons.
MILTERTEST: When asserting negotiation state, don't forget to capture
what was negotiated.
TOOLS: Feature request #SF3106876: Amend opendkim-testkey to return
the DNSSEC results as well.
TOOLS: Fix bug #SF3143922: Command line parameters to opendkim-testkey
now override their configuration file counterparts.
TOOLS: Experimental new "opendkim-spam" tool to let users update a
stats database to indicate a message is spam, for possible
later correlation use.
BUILD: opendkim-genzone needs LIBCRYPTO_LDFLAGS. Reported by
John Smith.
Activate _FFR_CAPTURE_UNKNOWN_ERRORS.
* dotlock_use_excl setting's default was accidentally "no" in all
v2.0.x releases, instead of "yes" as in v1.1 and v1.2. Changed it
back to "yes".
- v2.0.10: LDAP support was broken
- v2.0.10: dsyncing to remote often hanged (timed out in 15 mins)
Chamges 2.0.10:
* LMTP: For user+detail at domain deliveries, the +detail is again written
to Delivered-To: header.
* Skip auth penalty checks from IPs in login_trusted_networks.
+ Added import_environment setting.
+ Added submission_host setting to send mails via SMTP instead of
via sendmail binary.
+ Added doveadm acl get/set/delete commands for ACL manipulation,
similar to how IMAP ACL extension works.
+ Added doveadm acl debug command to help debug and fix problems
with why shared mailboxes aren't working as expected.
- IMAP: Fixed hangs with COMPRESS extension
- IMAP: Fixed a hang when trying to COPY to a nonexistent mailbox.
- IMAP: Fixed hang/crash with SEARCHRES + pipelining $.
- IMAP: Fixed assert-crash if IDLE+DONE is sent in same TCP packet.
- LMTP: Fixed sending multiple messages in a session.
- doveadm: Fixed giving parameters to mail commands.
- doveadm import: Settings weren't correctly used for the
import storage.
- dsync: Fixed somewhat random failures with saving messages to
remote dsync.
- v2.0.9: Config reload didn't notify running processes with
shutdown_clients=no, so they could have kept serving new clients
with old settings.
* nearly 10 years forgotten to replace @x11prefix@ with @PREFIX@ in patch-at.
and no need to restrict to BSDs only in pkgsrc.
* regen patches with recent mkpatches(1).
* use SUBST to replace PREFIX.
* add user-destdir installation.
Bump PKGREVISION.
Mail::SPF is an object-oriented Perl implementation of the Sender Policy
Framework (SPF) e-mail sender authentication system.
See <http://www.openspf.org> for more information about SPF.
Postfix stable release 2.8.0 is available. This release continues the
move towards improving code and documentation, and making the system
better prepared for changes in the threat environment.
The postscreen daemon (a zombie blocker in front of Postfix) is now
included with the stable release. postscreen now supports TLS and can
log the rejected sender, recipient and helo information. See the
POSTSCREEN_README file for recommended usage scenarios.
Support for DNS whitelisting (permit_rhswl_client), and for pattern
matching to filter the responses from DNS white/blacklist servers
(e.g., reject_rhsbl_client zen.spamhaus.org=127.0.0.[1..10]).
Improved message tracking across SMTP-based content filters; the
after-filter SMTP server can log the before-filter queue ID (the
XCLIENT protocol was extended).
Read-only support for sqlite databases. See sqlite_table(5) and
SQLITE_README.
Support for 'footers' that are appended to SMTP server "reject"
responses. See "smtpd_reject_footer" in the postconf(5) manpage.
This update was tested by Takahiro Kambe.
Fix bug #SF2903325: Clean up numerous signed vs. unsigned warnings.
Fix bug #SF3095782: When VBR is enabled, only perform a query when
the "md" domain in the VBR-Info header field matches the
"d" field for any valid signature.
Fix bug #SF3105993: Better handling of missing records in Lua DB
lookups.
When reading keys, ensure what's being read is a regular file and
not something else.
Complain if TrustAnchorFile names something that can't be opened
for reading.
LIBOPENDKIM: Don't complain about multiple records returned if one
of them was an RRSIG.
LIBAR: Rework some I/O logic to avoid a deadlock when the nameserver
becomes unresponsive during response processing.
BUILD: Move all scripts and executables except opendkim to a bin
directory for adminstrator convenience. They were previously in
the sbin directory.
BUILD: Fix bug #SF3101842: Fix opendkim-genzone build when OpenDBX
is in use.
BUILD: opendkim-testkey can require SASL build information when used
with OpenLDAP, or Lua information when built with Lua.
BUILD: Dissociate libopendkim and libunbound, as this is now handled
through the application rather than the library.
BUILD: Convert to using git for source code management.
STATS: Additional reporting improvements.
STATS: Fix bug #SF3107659: Add additional diagnostic output to
opendkim-importstats when malformed input is found.
TOOLS: Handle input generated with and without the _FFR_STATS_I
extensions.
2.2.1 2010/10/25
Avoid assertion failures when using "-V" and arlib.
Fix "refile" loading.
Fix collision between "ReputationRoot" and "StatisticsName" in the
configuration file.
Convert sender's domain name to lowercase prior to doing any database
queries with it. This was done before, but lost during the
database overhaul in 1.2.0.
Fix up Authentication-Results header field generation for VBR.
Reported by Fredrik Pettai.
Add _FFR_STATS_I enabling statistics reporting of "i=" signature
properties.
LIBOPENDKIM: Fix bug #SF3081964: dkim.h requires <sys/time.h>.
LIBOPENDKIM: Fix bug #SF3087251: Use thread-safe resolver functions
when avaialble.
LIBOPENDKIM: Cancel completed reputation queries.
LIBOPENDKIM: Simplify DKIM_OPTS_ALWAYSHDRS handling.
LIBAR: Fix bug #SF3080720: Don't compute timeouts based on completed
or dead queries.
LIBVBR: Fix some pointer errors causing false negatives.
TOOLS: Write "v=" tags in key records output by opendkim-genzone.
2.2.0 2010/10/03
Feature request #SF2874043: Add _FFR_ADSP_LISTS allowing control over
action taken when mail is sent to known lists from
ADSP "discardable" sources.
Feature request #SF2964366: Allow arbitrary data set operations
from inside Lua script hooks.
Feature request #SF2981598: Add "NoHeaderB" and "SingleAuthResult"
settings so that only one Authentication-Results header field
is added, and reduce its variability.
Feature request #SF3013084: Add "DomainKeysCompat" setting.
Feature request #SF3017358: Allow a token in the KeyTable that gets
replaced with the sender's domain name.
Feature request #SF3019876: Enable registration and use of generic
DNS functions.
Feature request #SF3021566: Change "ADSPDiscard" to "ADSPAction",
allowing selection of what action to take when a message is
determined by ADSP to be "discardable".
Feature request #SF3023232: Allow selection of a signer (for the
signature's "i=" tag) when calling odkim.sign() or via an
optional second parameter in the SigningTable.
Feature request #SF3024854: Always log a warning if a key file
has unsafe group/other read/write bits set. Further, if the
new "RequireSafeKeys" setting is true, refuse to use the data.
Feature request #SF3030548: Add _FFR_DEFAULT_SENDER, adding the
"DefaultSender" setting.
Feature request #SF3049483: Use ReportAddress for ADSP Reports and for
the sender envelope address.
Feature request #SF3056571: Extend signer selection in the SigningTable
to include a token that will be replaced by the From:
domain.
Feature request #SF3062077: Allow the specification of additional
recipients when delivering DKIM/ADSP failure reports through
a new ReportBccAddress configuration option.
Fix bug #SF3004995: Don't apply "SenderHeaders" to the library
as that impacts how ADSP works.
Fix bug #SF3025856: Fix "AllowSHA1Only", which was not working at all.
Fix bug #SF3037504: Rework database schema and tools to meet revised
reporting requirements.
Fix bug #SF3051536: Allow disabling of reputation queries.
Fix bug #SF3058204: Fix numerous possible double-free() incidents in
dkimf_config_free().
Fix PeerList to work with IPv6 addresses.
Fix loop boundary check in dkimf_db_close().
Fix assertion failure in dkimf_db_get() when used with a "match both"
operation.
Fix "LocalADSP", which was not working at all.
Fix some Lua test mode logic and a build issue that prevented
"ScreenPolicyScript" from working.
Added MTACommand for overriding default (mainly for testing).
Ignore "Domain" and "Selector" settings if "KeyTable" is set.
Add "On-PolicyError" to configuration tables.
Don't automatically temp-fail messages bearing signatures that
reference revoked keys.
Some fixes to the "final" Lua script self-test code.
Include libmilter version in "-V" output.
Single-thread DB queries done via OpenDBX handles as they can't be
used to do parallel queries.
Attempt to reconnect after SQL disconnections.
Revise text/plain portion of policy reports.
Fix up DSN parsing so that it is not needlessly restrictive.
Add _FFR_STATSEXT: Allows arbitrary local extensions to statistics
gathering via a fourth Lua script that can cause the
generation of additional SQL insertion operations.
LIBOPENDKIM: Feature request #SF3026287: Add dkim_getuser() function.
LIBOPENDKIM: Feature request #SF3065035: Apply library query
configuration to ADSP lookups as well, mainly to support
auotmated testing.
LIBOPENDKIM: Fix bug #SF3071368: Fix tiny memory leak in dkim_init().
LIBOPENDKIM: Fix bug #SF3051762: Don't error out of dkim_get_key()
when in test mode by testing signature-specific features when
against dummy data.
LIBOPENDKIM: Don't build against pthread libraries if not needed.
LIBOPENDKIM: Add dkim_get_signer(), dkim_policy_state_new() and
dkim_policy_state_free().
LIBOPENDKIM: Don't assert a "g=" default when processing keys so that
statistics reporting can tell whether or not it was originally
there.
LIBOPENDKIM: Minor fix to internal state machine when dealing with
unsigned messages.
LIBOPENDKIM: Rename DKIM_PRESULT_AUTHOR to DKIM_PRESULT_FOUND.
LIBOPENDKIM: Improved error reporting from dkim_ohdrs().
LIBOPENDKIM: Improved re-entrancy of dkim_eoh_verify().
LIBOPENDKIM: Undefine DKIM_FEATURE_ASYNC_DNS (obsolete).
MILTERTEST: Feature request #SF3005002: Enable testing of
"unspecified" protocol family connections.
MILTERTEST: Add "-u" option to report resource usage statistics on
completion.
MILTERTEST: Add mt.signal() to allow signaling of filters for things
like configuration file reloads.
MILTERTEST: Enhance mt.connect() to accept optional retry and interval
arguments.
MILTERTEST: Add "-w" option to request no waiting for the child process
to exit and report status.
MILTERTEST: Allow partial seconds argument to mt.sleep().
TOOLS: Feature request #SF3004335: Add support to opendkim-testkey
to get configuration file values and validate an entire
KeyTable.
TOOLS: Update opendkim-genkeys script to support
draft-ietf-marf-dkim-reporting.
TOOLS: Flip logic of "-a" flag to opendkim-stats.
TOOLS: Fix bug #SF3037452: Change owner/group/mode of stats database
when resetting it to whatever the replaced file had.
CONTRIB: Add opendkim-reportstats, contributed by John Wood.
BUILD: Fix --with-db.
Activate _FFR_ZTAGS.
This update release fixes some bugs discovered with the 0.5 stable version and
also improves security by preventing some possible CSRF attacks. IDNA support
has now been improved and some visual glitches in IE and Safari have been
resolved.
== [release-1-6-5] 1.6.5: 2011-01-26
A bug fix release of 1.6.4.
=== milter manager
==== Fixes
* Fixed a bug that "Sendmail Compatible" applicable
condition doesn't set applicable if_addr and id_name
macro value.
[Patch by Kenji Shiono]
* Fixed a crash bug that may be caused SMTP client
disconnection is detected.
[Reported by Kenji Shiono]
=== milter-manager-log-analyzer
==== Improvements
* Supported parsing Authentication-Results added by ENMA.
=== Ruby milter
==== Improvements
* Supported effective user and group change.
=== Thanks
* Kenji Shiono
Changed read_file() to return the number of usable lines read, instead of the
total number of lines (including comments and whitespace).
Fixed a huge thinko in many calls to read_file() -- when the function returns
0, the returned value is NULL. This was causing spamdyke to crash when no
content was read from files by "dns-blacklist-file", "dns-whitelist-file",
"rhs-blacklist-file", "rhs-whitelist-file" and "hostname-file". Thanks
to David Stiller for reporting this one and providing a lot of help in
tracking it down.
Added the option "tls-cipher-list" for specifying the list of ciphers to use
in SSL/TLS connections. This won't be an option many people will ever use,
but in specific setups it is required. Thanks to Chris Boulton for
suggesting this one and producing a patch to implement it.
Added a new value to "tls-level": "smtp-no-passthrough" to allow spamdyke to
offer TLS but prevent it from passing TLS through to qmail if the SSL
library cannot be initialized for some reason.
Fixed a bug in smtp_filter that allowed open relaying when spamdyke was
configured with "local-domains-entry" instead of "local-domains-file".
Moved code from do_spamdyke() that set stdin and stdout sockets to
non-blocking into tls_read() and tls_write() instead. Setting the sockets
to non-blocking through the entire run was causing some strange behavior
where logging would stop after a series of large inputs.
Refactored the address parser (yet again) to fix a bug that wasn't handling
routing addresses properly. Thanks to Chris Boulton for reporting this one.
Fixed process_config_file() to not reset a "multiple" value to default if it
was deliberately cleared during configuration.
Fixed prepare_settings() to initialize all default values before processing
the command line or configuration files so a "multiple" value can be cleared
during configuration.
Fixed configure.ac to use a gcc #pragma command to treat format warnings as
errors instead of relying on AC_LANG_WERROR (which doesn't always work).
Added the options "dns-query-type-a", "dns-query-type-mx",
"dns-query-type-ptr" and "dns-query-type-rbl" to limit the types of DNS
queries that can be sent for different purposes. Thanks to Teodor Milkov
for suggesting this one.
Fixed a bug that caused a timeout whenever a post-RCPT filter is triggered
on a non-local address. spamdyke is supposed to close the connection to
qmail and wait for its exit, but instead was just waiting for its exit,
leading to unnecessary timeouts. Thanks to Ulrich C. Manns for reporting
this one.
Fixed a typo in policy.php.example. Thanks to Richard Lamse for reporting
this one.
Fixed compiler warnings on Fedora 11. Thanks to Ertan Orhan for reporting
this one.
Fixed a bug in sendrecv where an uninitialized variable was causing erroneous
stalls and timeouts in CentOS 5.5.
Changelog:
Version 1.4.23:
- Fix SCRAM-SHA-1 authentication via libgsasl. Reported and analyzed by
Steffen Lehmann for mpop.
Version 1.4.22:
- Update gnulib to 2010-12-23.
- Avoid different account selection behaviour in --pretend mode, and print more
informational messages about account selection in --pretend and --debug mode.
Suggested by Adam Spiers.
- Add a new passwordeval command and --passwordeval option, to set the password
from the output of a command. Written by Martin Stenberg.
- A few documentation improvements, suggested by Andries E. Brouwer.
default in mk/defaults/mk.conf
remove the non-shared defaults and put in the setting that actually gets
used by more than one package (namely, MAJORDOMO_HOMEDIR)
don't make the majordom user own more than it actually needs to
make resend, archive, request-answer and medit honor the MAJORDOMO_CF
environment variable over the command line option, so that someone calling
these via the wrapper (which sets the environment variable) can't make
the majordom user execute random perl code by specifying it as config file.
Thanks to salo for finding this issue.
== Wed 26 Jan 2011 02:23:09 UTC Mikel Lindsaar <mikel@rubyx.com>
* Update addresses passed into sendmail to escape them (Andy Lindeman)
* Version bump to 2.2.15 and gem release
2.70 (2010-12-21)
* Improved handling of given feed email addresses to prevent mail
servers rejecting poorly formed Froms
* Added X-RSS-TAGS header that lists any tags provided by an entry,
which will be helpful in filtering incoming messages
2.69 (2010-11-12)
* Added support for connecting to SMTP server via SSL, see SMTP_SSL option
* Improved backwards compatibility by fixing issue with listing
feeds when run with older Python versions
* Added selective feed email overrides through OVERRIDE_EMAIL and
DEFAULT_EMAIL options
* Added NO_FRIENDLY_NAME to from from address only without the friendly name
* Added X-RSS-URL header in each message with the link to the original item
2.68 (2010-10-01)
* Added ability to pause/resume checking of individual feeds through
pause and unpause commands
* Added ability to import and export OPML feed lists through
importopml and exportopml commands
2.67 (2010-09-21)
* Fixed entries that include an id which is blank (i.e., an empty
string) were being resent
* Fixed some entries not being sent by email because they had bad From headers
* Fixed From headers with HTML entities encoded twice
* Compatibility changes to support most recent development versions
of feedparser
* Compatibility changes to support Google Reader feeds
2.66 (2009-12-21)
* Complete packaging of all necessary source files (rss2email,
html2text, feedparser, r2e, etc.) into one bundle
* Included a more complete config.py with all options
* Default to HTML mail and CSS results
* Added 'reset' command to erase history of already seen entries
* Changed project email and homepage
* Made exception and error output text more useful
* Added X-RSS-Feed and X-RSS-ID headers to each email for easier filtering
* Improved enclosure handling
* Fixed MacOS compatibility issues
== [release-1-6-4] 1.6.4: 2011-01-21
A bug fix release of 1.6.3.
=== milter-client
==== Fixes
* Used event loop usage as before when event loop backend
is GLib.
== [release-1-6-3] 1.6.3: 2011-01-20
A performance improvement release. This release includes
a few performance improvement features but they are marked
'experimental'. They will be 'stable' feature in 1.8.0.
=== milter manager
==== Improvements
* Upgraded bundled Ruby/GLib2 to 0.90.5 from 0.19.4.
* Supported Ruby 1.9.2.
* Added
((<manager.fallback_status|configuration.rd.ja#manager.fallback_status>))
that specifies a status returned to SMTP server on
internal error.
* Added
((<manager.fallback_status_at_disconnect|configuration.rd.ja#manager.fallback_status_at_disconnect>))
that specifies a status returned to SMTP server when
disconnection is detected. [Suggested by Kenji Shiono]
* Added DATA event emuration that is enabled when SMTP
server uses milter protocol version 3 or smaller.
* Added
((<manager.event_loop_backend|configuration.rd.ja#manager.event_loop_backend>))
that specifies event loop backend. (experimiental)
* Added
((<manager.n_workers|configuration.rd.ja#manager.n_workers>))
that specifies number of worker processes. (experimental)
* Added
((<manager.packet_buffer_size|configuration.rd.ja#manager.packet_buffer_sizea>))
that specifies buffer size for send packets. (experimental)
==== Fixes
* Fixed a bug that
((<manager.use_netstat_connection_checker|configuration.rd.ja#manager.use_netstat_connection-checker>))
doesn't work with Postfix 2.3. [Reported by Kenji Shiono]
* Fixed a DATA event timing when some child milters exist.
[Reported by Kenji Shiono]
=== Document
==== Improvements
* Described about Postfix's {client_addr}. [Reported by Kenji Shiono]
=== milter-client
==== Improvements
* Supported multi process. (experimental)
* Supported libev as event loop backend. (experimental)
* Bundled libev 4.03.
* Made write asyncronize.
* Supported send packets buffering. (experimental)
=== milter-server
==== Improvements
* Added more condition checks on evnets.
==== Fixes
* Fixed a bug that timeout detection doesn't work.
[Reported by Kenji Shiono]
=== Ruby milter
==== Improements
* Added ruby-milter.pc.
* Added --packet-buffer-size option that specifies send
packet buffer size. (experimental)
* Added --n-workers option thst specifies number of worker
processes. (epxerimental)
* Added --event-loop-backend option that specifies event
loop backend. (experimental)
=== milter-test-client
==== Improvements
* Added
((<--n-workers|milter-test-client#--n-workers>)) option
that specifies number of worker processes. (experimental)
* Added
((<--event-loop-backend|milter-test-client#--event-loop-backend>))
option that specifies event loop backend. (experimental)
* Added
((<--packet-buffer-size|milter-test-client#--packet-buffer-size>))
option that specifies send packets buffer size. (experimental)
=== milter-performance-check
==== Improvements
* Added
((<--n-additional-lines|milter-performance-check#--n-additional-lines>))
option that grows body size.
* Added
((<--report-failure-responses|milter-performance-check#--report-failure-responses>))
option that enables failure SMTP sesseion response
report on the last.
* Added
((<--report-periodically|milter-performance-check#--report-periodically>))
option that enables periodical statistics report.
* Added
((<--flood|milter-performance-check#--flood>))
option that enables flood mood that sends flood of mails
in specified period.
=== milter-report-statistics
==== Improvements
* Added: ((<milter-report-statistics.rd.ja>))
=== Packet
* Updated package repository RPM for CentOS: 1.0.0-0 -> 1.0.0-1.
=== Thanks
* Kenji Shiono
* Failure to get a lock on a hints database can have serious
consequences so log it to the panic log.
* Log LMTP confirmation messages in the same way as SMTP,
controlled using the smtp_confirmation log selector.
* Include the error message when we fail to unlink a spool file.
* Bugzilla 139: Support dynamically loaded lookups as modules.
* Bugzilla 139: Documentation and portability issues.
Avoid GNU Makefile-isms, let Exim continue to build on BSD.
Handle per-OS dynamic-module compilation flags.
* Let /dev/null have normal permissions.
The 4.73 fixes were a little too stringent and complained about the
permissions on /dev/null. Exempt it from some checks.
* Report version information for many libraries, including
Exim version information for dynamically loaded libraries. Created
version.h, now support a version extension string for distributors
who patch heavily. Dynamic module ABI change.
* CVE-2011-0017 - check return value of setuid/setgid. This is a
privilege escalation vulnerability whereby the Exim run-time user
can cause root to append content of the attacker's choosing to
arbitrary files.
* Bugzilla 1041: merged DCC maintainer's fixes for return code.
* Bugzilla 1071: fix delivery logging with untrusted macros.
If dropping privileges for untrusted macros, we disabled normal logging
on the basis that it would fail; for the Exim run-time user, this is not
the case, and it resulted in successful deliveries going unlogged.
* Linux: Fixed a high system CPU usage / high context switch count
performance problem
* Maildir: Avoid unnecessarily reading dovecot-uidlist while opening
mailbox.
* Maildir: Fixed renaming child mailboxes when namespace had a prefix.
* mdbox: Don't leave partially written messages to mdbox files when
aborting saving.
* Fixed master user logins when using userdb prefetch
* lda: Fixed a crash when trying to send "out of quota" reply
* lmtp: If delivering duplicate messages to same user's INBOX,
create different GUIDs for them. This helps to avoid duplicate
POP3 UIDLs when pop3_uidl_format=%g.
* virtual storage: Fixed saving multiple mails in a transaction
(e.g. copy multiple messages).
* dsync: Saved messages' save-date was set to 1970-01-01.
- Fix double-login/session issue
- Wrap HTML parts with <html><body> and add Doctype declaration
- Make rcube_autoload silently skip unknown classes
- Fix charset detection in vcards with encoded values
- Better CSS cursors for splitters
- Show the same message only once
- Fix namespaces handling
- Add handling of multifolder METADATA/ANNOTATION responses
- Fix handling of INBOX when personal namespace prefix is non-empty
- Fix handling square brackets in links
- Add description of 'use_https' option in main.inc.php.dist file
* Date: & Message-Id: revert to normally being appended to a message,
only prepend for the Resent-* case. Fixes regression introduced in
Exim 4.70 by NM/22 for Bugzilla 607.
* Include check_rfc2047_length in configure.default because we're seeing
increasing numbers of administrators be bitten by this.
* Added DISABLE_DKIM and comment to src/EDITME
* Bugzilla 994: added openssl_options main configuration option.
* Bugzilla 995: provide better SSL diagnostics on failed reads.
* Bugzilla 834: provide a permit_coredump option for pipe transports.
* Adjust NTLM authentication to handle SASL Initial Response.
* If TLS negotiated an anonymous cipher, we could end up with SSL but
without a peer certificate, leading to a segfault because of an
assumption that peers always have certificates. Be a little more paranoid.
* Bugzilla 926: switch ClamAV to use the new zINSTREAM API for content
filtering; old API available if built with WITH_OLD_CLAMAV_STREAM=yes
NB: ClamAV planning to remove STREAM in "middle of 2010".
CL also introduces -bmalware, various -d+acl logging additions and
more caution in buffer sizes.
* Implemented reverse_ip expansion operator.
* Bugzilla 937: provide a "debug" ACL control.
* Bugzilla 922: Documentation dusting, patch provided by John Horne.
* Bugzilla 973: Implement --version.
* Bugzilla 752: Refuse to build/run if Exim user is root/0.
* Build without WITH_CONTENT_SCAN. Path from Andreas Metzler.
* Bugzilla 816: support multiple condition rules on Routers.
* Add bool_lax{} expansion operator and use that for combining multiple
condition rules, instead of bool{}. Make both bool{} and bool_lax{}
ignore trailing whitespace.
* prevent non-panic DKIM error from being sent to paniclog
* added tcp_wrappers_daemon_name to allow host entries other than
"exim" to be used
* Fix malware regression for cmdline scanner introduced in PP/08.
Notification from Dr Andrew Aitchison.
* Change ClamAV response parsing to be more robust and to handle ClamAV's
ExtendedDetectionInfo response format.
* OpenSSL 1.0.0a compatibility const-ness change, should be backwards
compatible.
Problems fixed:
#32080 Specially crafted <base href> can lead to XSS exploit
#32032 TextEncode related resource information not saved correctly in db file
#32014 CVE-2010-1677: DoS when processing html messages with deep tag nesting
#32013 CVE-2010-4524: Improper escaping of certain HTML sequences (XSS)
#26577 Changed semantic for unpack breaks UTF-8
#25486 Resource FieldStore causes .mhonarc.db to grow over bounds.
#25225 dir_create() fails to make temporary directories (PATCH)
#24247 iso2022jp.pl: unneeded ESC ( B remains in message body
#23198 Incorrect Setting Installation Directory
#20142 strip backslash in rfc822 From: field
#20074 extra space in subject
#18908 X-Subject data get split in separate lines
#18113 inconsistant thread slices w/ poor man's windowing
#17904 FieldOrder affects AddressModifyCode
#17860 incorrect nested HTML Tags for references
#17660 Threaded index resource ordering doesn't allow well formed XML output
#15433 relative attachmentdir is relative to current working dir, not outdir
#14747 major (10X) memory savings possible in some situations
#13853 creation of archive with attachments writes over symlinks