The invalid message address parsing bug is pretty important since it
allows a remote user to send broken mail headers and prevent the
recipient from accessing the mailbox afterwards, because the process
will always just crash trying to parse the header. This is assuming that
the IMAP client uses FETCH ENVELOPE command, not all do. Note that it
doesn't affect versions older than v1.1.4.
+ dovecot -n and -a now prints some system information at the top.
+ More error/debug message logging improvements.
- pop3-login: Fixed assert-crash if a client sent USER+PASS+USER+PASS
commands in the same IP packet.
- Parsing an invalid message address like "From: (" caused an
assert-crash in v1.1.4 and v1.1.5.
- Folding whitespace wasn't handled correctly inside quoted-strings,
causing some messages to be parsed incorrectly.
- mbox: Fixed saving messages that begin with a valid From_-line.
Hello Dovecot users,
Finally, after little more than a year, I finished the first release of
the new Sieve implementation for Dovecot.
The main reason for rewriting the Sieve engine is to provide more
reliable script execution and to provide better error messages to users
and system administrators. Also, since the Sieve language evolves
quickly, with new language extensions published every year, the aim is
to provide support for quickly extending the engine with new features.
This implementation aims to comply to RFC8225 and it provides support
for the following Sieve language extensions:
In comparison to the old CMU Sieve plugin, I added support for the very
useful variables extension. However, the notify extension is notably
missing. This will be implemented for next major release (0.2.x).
Refer to the README file for a full list of its features:
The source package is available as follows:
Alternatively, it can be cloned from the mercurial repository:
hg clone http://hg.rename-it.nl/dovecot-libsieve
The compilation procedure is identical to the cmusieve plugin
(http://wiki.dovecot.org/LDA/Sieve). Don't forget to execute
./autogen.sh first if you obtained the sources through mercurial. This
release will not compile against Dovecot versions older than v1.2.alpha3.
The configuration is very similar to the original plugin as well. The
most notable difference is the name of the plugin, which is simply
'sieve' in stead of 'cmusieve'.
After compilation, the Sieve engine can be verified before deployment
using the included test suite. This is done by executing `make test` in
the top of the source tree. The test suite is known to finish flawlessly
on the i386 and amd64 platforms. The test suite is not very
comprehensive yet, as it only tests the evaluation of scripts and omits
testing the actual execution of actions.
As this release contains about 30k effective lines of fresh code, bugs
will eventually surface. Make sure that you provide enough information
to reproduce the problem if you report bugs, i.e. the script and the
mail message that caused the problem and/or relevant log entries.
Have fun testing the new Sieve plugin. Don't hesitate to notify me when
there are problems.
IRC: Freenode, #dovecot, S[r]us
A combined release announcement for a change. :)
Largest changes since v1.1.4:
* Dovecot prints an informational message about authentication problems
at startup. The message goes away after the first successful
authentication. This hopefully reduces the number of "Why doesn't
my authentication work?" questions.
+ Maildir/dbox: Try harder to assign unique UIDVALIDITY values to
mailboxes to avoid potential problems when recreating or renaming
mailboxes. The UIDVALIDITY is tracked using dovecot-uidvalidity*
files in the mail root directory.
+ Many logging improvements
- In some conditions Dovecot could have stopped using existing cache
file and never used it again until it was deleted.
- pop3 + Maildir: Make sure virtual sizes are always written to
dovecot-uidlist. This way if the indexes are lost Dovecot will never
do a huge amount of work to recalculate them.
- mbox: Fixed listing mailboxes in namespaces with prefix beginning
with '~' or '/' (i.e. UW-IMAP compatibility namespaces didn't work).
- dict quota: Don't crash when recalculating quota (when quota warnings
- Fixes to handling "out of disk space/quota" failures.
- Blocking passdbs/userdbs (e.g. PAM, MySQL) could have failed lookups
sometimes when auth_worker_max_request_count was non-zero.
- Fixed compiling with OpenBSD
Largest changes since v1.2.alpha2:
+ Added userdb checkpassword (by Sascha Wilde)
+ Autocreate plugin: http://wiki.dovecot.org/Plugins/Autocreate
+ Listescape plugin: http://wiki.dovecot.org/Plugins/Listescape
- All the same fixes as for v1.1.5
I was thinking about waiting for Kolab people's work for shared mailbox
support to get done, get that code to v1.2 tree and then release
v1.2.beta1 with feature freeze.
- SORT: Yet another assert-crashfix when renumbering index sort IDs.
- ACL plugin fixes: Negative rights were actually treated as positive
rights. 'k' right didn't prevent creating parent/child/child mailbox.
ACL groups weren't working.
- Maildir++ quota: Fixes to rebuilding when quota limit wasn't
specified in Dovecot (0 limit or limit read from maildirsize).
- mbox: Several bugfixes causing errors and crashes.
- Several fixes to expire plugin / expire-tool.
- lock_method=dotlock could have deadlocked with itself.
- Many error handling fixes and log message improvements.