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.