Changes to the Cyrus IMAP Server since 2.4.11
* Bug #3150 - fix issue with overview and messages without a
References header
* fixed nntp login with tab and space in password
* Bug #3501 - be more relaxed about names of DELETED folders
* Bug #3553 - fix QRESYNC passing to murder backend - thanks alec
<alec@alec.pl>
* Bug #3554 - only show ENABLED response the first time each option
is ENABLEd
* Lots of cleanup of build process and backporting of APIs
* Bug #3502 - make configure.in more portable - thanks OBATA Akio
<obata@lins.jp>
* Bug #3533 - add missing break statements in sieve - thanks Thomas
Jarosch <thomas.jarosch@intra2net.com>
* Bug #3550 - support wildcards for ACLS in cyradm - thanks
<mark.cave-ayland@siriusit.co.uk>
* Bug #3556 - print remote server in mbpath - thanks Wolfgang Breyha
<wbreyha@gmx.net>
* Bug #3559 - make XFER work with unlimited quota - thanks Wolfgang
Breyha <wbreyha@gmx.net>
* Bug #3547 - use strconcat() in writefile()
* fixed a case where skiplist library could write error messages
directly to stdout
* Bug #3545 - fix sign extension in squat_decode_64
* Bug #3558 - return error if backend doesn't support LIST-EXTENDED
* Bug #3565 - clean up in preparation for automake
* fixed incomplete authentication checks in nntpd, reported by
Secunia as SA46093
Changes to the Cyrus IMAP Server since 2.4.10
* fixed replication recovery from different messages at the each end
* Bug #3489 - fixed quotalegacy handling of prefixes so only exact
subfolders match
* Bug #3498 - fixed deletion of users quota files with
unixheriarchysep enabled, thanks Leena Heino
* Bug #3491 - NOOP and UNAUTHENTICATE for timsieved, thanks Dilyan
Palauzov
* Bug #3492 - better response codes for timsieved, thanks Dilyan
Palauzov
* Bug #3497 - fix cmd syslog from master, thanks Kristof Katus
* Bug #3503 - compilation of perl libraries on dragonfly and freebsd,
thanks OBATA Akio
* Bug #3451 - allow CC to have spaces
* Bug #3505 - fix sync_reset, thanks David Carter
* Bug #3506 - use literal+ for sync_(client|server), thanks David
Carter
* Bug #3300 - use portable function for TCP constants, thanks OBATA
Akio
* Bug #3507 - fix replication recovery with non-delayed expunge,
thanks Julien Coloos
* Bug #3495 - improved duplicate suppression, thanks Kristof Katus
* Bug #2772/3463 - fixed crashes in THREAD by correcting folding of
references headers
* Bug #3439 - fix ugly syslog message for vacation
* Bug #3499 - options to disable namespaces to reduce load on big
servers with no shared folders. Thanks Olivier ROLAND
* Changed skiplist to truncate old files after checkpoint, which can
save disk space on tmpfs or small ssds when old copies were held
open by other processes
* Made Cyrus more robust against corruption in mailboxes.db data, so
it will return an error rather than crashing on invalid entries
* Fix for CVE-2011-3208, a remotely exploitable buffer overflow in
nntpd - thanks Coverity
While here,
* Exactly enable/disable PCRE support with package option, enabled by default.
* Add workaround patches for PR#44275, sizeof(time_t) > sizeof(unsigned long).
Changes to the Cyrus IMAP Server since 2.4.9
* fixed handling of unparsable emails during append (which would
cause invalid cyrus.index records otherwise)
* quota: fix a pile of bugs. #1801, virtdomain support; #2728, slow
user delete; #3178, "file name too long" with big mailbox names;
#3179, quota -f doubles usage.
* Bug #3043 - parse multiple groups in headers correctly
* Bug #3158 - lmtp backend connection timeout
* Bug #3223 - limit MIME parsing depth to avoid stack overflows
* Bug #3273 - add SORT=DISPLAY support (but note: still questions
about correctness of unicode sorting)
* Bug #3504 - convert all sieve scripts to \r\n line endings on
upload
* Bug #3402 - options to munge 8bit characters in headers during lmtp
delivery to avoid backscatter
* sync_client: fix broken keepalive TCP options (I doubt anyone ever
tried to use it)
* Bug #3482 - add "-o" option to ipurge to only purge messages with
\Deleted flag set
while here, expunge old sites from MASTER_SITES, and add the http site in
release announcement.
Changes to the Cyrus IMAP Server since 2.4.8
* fixed crashes in seen handling
* Bug #3453 - fixed LSUB replication
* Bug #3442 - allow disabling PCRE if it's buggy at your site
* Bug #3443 - LSUB response fixes
* Bug #3448 - XFER error handling (murder)
* Bug #3437 - fixed regression: quotaroot wasn't being updated on
rename
* Bug #3456 - fixed crash on rename user.foo user.foo without
partition change
* config update: database paths for most databases are now
configurable in imapd.conf
* Bug #3303 - fixed index lock breaking on XFER (thanks Julien
Coloos)
* Bug #3457 - fixed ESEARCH parsing (was breaking iPhones)
* Bug #3188 - fixed XFER with unlimited quota (thanks again Julien
Coloos)
* Misc other quota fixes (there are still known bugs with the quota
system)
* Bug #3169 - fixed GETQUOTAROOT for domain quotaroots
* Bug #3465 - fixed compilation with Perl 5.14 (thanks
hsk@imb-jena.de, and also thanks to Ondrej Sury who reported it
separately)
* Bug #3464 - fix for sendmail exec failure. This was a nasty one,
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
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
Changes to the Cyrus IMAP Server since 2.4.5
* Fixed Bug #3370 - corruption on OpenBSD and other systems without a
reliable mmap
* Fixed Bug #3360 - race condition which could lose seen data on XFER
with upgrade
* Lots of documentation updates
* Fixed Bug #3355 - added an option to suppress items from the
capability response (and bug #3356 when the first attempt was
buggy)
* Fixed Bug #3357 - crash when calling ctl_mboxlist on mailboxes with
annotations
* Fixed Bug #3369 - crash when undumping mailbox during XFER
* Fixed Bug #3361 - shared folders not listing in LSUB "" % - only
with unixheirsep and altnamespace
* Fixed Bug #3362 - "too many open files" when doing XFER of a user
with too many sub mailboxes. Makes XFER less "atomic", but now it
works, which is good!
* Fixed Bug #3313 - md5 library usage. Properly this time!
Changes to the Cyrus IMAP Server since 2.4.4
* Tidy up of the git version number added to the ID response
* Fixed incorrect time field in date searches (Bug #3339) - thanks Greg Banks
for noticing this one
* Fixed reconstruct crash and other potential issues (Bug #3353) - first
reported Paul Dekkers
* Fixed ACL passing for rename/delete on murder backends (Bug #3342) - first
reported by Robert Spellman
* Fixed corruption of long (>1024 byte) seen records on replica (Bug #3344) -
found at FastMail by Bron Gondwana
* Made all perl utilities use /usr/bin/perl in the #! line (Bug #2275) -
reported by Yann Rouillard over 5 years ago!
* Fixed crash on message with incomplete final boundary (Bug #3345) - found
at FastMail by Bron Gondwana
* Regression: sync_crc was being set to 00000000 on repack - introduced in
2.4.4 (Bug #3347) - first found at FastMail, but also seen at multiple
other sites
* Always print [CLOSED] response when selecting a new mailbox, even if a
CONDSTORE enabling command has not been sent (Bug #3352) - reported by Jan
Kundra't, author of the Trojita IMAP client
* Fixed crash with reconstruct -rf and missing mailboxes.db entries (Bug #
3351) - reported by Giles Malet
* Made sync_server report errors earlier if there are extra records on the
master which aren't present on the replica (Bug #3355) - thanks to David
Carter for finding it and a first pass at a fix
* Stopped expunges to never-reported-messages being showed (basically if the
'EXPUNGE' command was run, and it expunged a message that the client had
never even seen - seriously rare race condition, Bug #3356) - discovered by
Bron Gondwana hammering a testbed with Dovecot's imaptest tool
* Fixed compile with old PCRE (Bug #3358) - found and fixed by Simon Matter
* Fixed missing quota usage after XFER (Buf #3349) - found by Dave McMurtrie
Changes to the Cyrus IMAP Server since 2.4.3
* Rewrite index_upgrade to always parse the message files and
re-create cyrus.cache, to avoid upgrade upgrade failures where
cache errors occured.
* Fixed sync_reset handling of user deletions
* Fixed proc file handling of LOGIN and folder unselect
* use cyrus.expunge file (if still present) to delete bogus records
from a failed index upgrade (cause by bugs in earlier version)
* detect version 2.5 in XFER to support use with master git branch in
a murder
* made pop3 expunge much more efficient
* handle missing seen file in XFER
Changes to the Cyrus IMAP Server since 2.4.2
* Many fixes to replication edge case handling
* Added missing flags to reconstruct
* Replicate DELETED.user folders in sync_client -u (matches XFER
behaviour now)
* Make sync_client only connect after forking in rolling mode. Fixes
two things - ssl crashes due to shared resource conflicts, and also
means master will start up even if the replica is not contactable
* Fixed crash on cyr_expire and ipurge annotation based expiry
* Many XFER fixes for compatibility across versions:
* allowing XFER in from delayed_expunge mailboxes
* allowing XFER back all the way to Cyrus 2.2.12. This was
accomplished by adding logic that can generate
backwards-compatible older version indexes, and version
detection from the imapd banner.
* correctly fixing seen information for sub-mailboxes on XFER in
* Multi-target replication. Strictly this is a new feature - there
was a broken implementation in 2.4.0, which is how this snuck in to
the bugfix release. It's not super-well documented yet, but it
works by creating a separate log file for each destination
"channel", and then running one sync_client process per channel, so
replication can fall behind on one without affecting replication to
the other.
* Fixed some crashes and errors which occured when upgrading and
opening corrupted mailboxes
* Modified AFS ptloader configure options to allow building on more
modern systems
IMAP (Internet Message Access Protocol) is an Internet standards-track
protocol for accessing messages (mail, bboards, news, etc). The Cyrus
IMAP server differs from other IMAP server implementations in that it
is generally intended to be run on "sealed" servers, where normal users
are not permitted to log in. The mailbox database is stored in parts of
the filesystem that are private to the Cyrus IMAP system. All user
access to mail is through the IMAP, POP3, or KPOP protocols.