Hello Dovecot users,
Today, Andy Howell tripped an important bug in the Sieve interpreter
that makes it crash when redirect is executed. That is why I quickly
release yet another new version to provide a fix for this bug.
I really should prevent this from happening again in the future by
extending the test suite to test the execution of actions.
- Fixed important bug in the redirect action (and probably other
actions like reject and vacation that only send messages). This was
a bug in the handling of context information during the execution of
actions. It caused the sieve interpreter to crash with a segfault
when redirect was executed.
The release is available here:
Refer to the initial release mail for more information:
IRC: Freenode, #dovecot, S[r]us
Hello Dovecot users,
Since the first release of the new Sieve implementation, not that many
bugs were reported. This is probably due to the fact that it is not
tried yet by that many people. In the mean time, I did find and fix some
more bugs myself, I adapted to changes in Dovecot, wrote some more
documentation and started work on the enotify extension.
Both Sieve and ManageSieve were changed to match API changes in Dovecot
and therefore older versions will not compile against the new Dovecot
release. Likewise, these new Sieve and ManageSieve releases will not
compile for older Dovecot versions.
Changelog Sieve v0.1.1:
* Re-enabled support for compiling against dovecot headers. Much like
cmusieve, command line tools like sievec and sieved are not compiled
in this case.
* Started implementation of enotify extension. Not anywhere near
* Adapted to changes in Dovecot on various occasions, making this
release dependent on Dovecot >= v1.2.alpa4.
+ Improved logging of errors at specific occasions and added debug
messages to find script execution problems quicker.
+ Removed code duplication between command line tools and the test
suite. Also restructured the sources of the tools.
+ Added UTF-8 to UTF-7 folder name conversion for compatibility with
+ Created man pages for the command line tools. These are
automatically installed upon 'make install'
+ Incorporated Valgrind support into the test suite and fixed a few
memory leaks in the process.
- Fixed compile error surfacing for gcc3.4. Forgot mask argument for
the open() system call when the O_CREAT flag is specified. Bug found
by Sergey Ivanov.
- Fixed bug in the sievec tool. -d output was always written to
- Fixed important bug in the imap4flags extension. When no :flags
argument is specified, the previous version would always use the
final value of the internal variable to set the flags. This means
that modifications to the internal variable also affected the bare
fileinto/keep actions executed earlier. This does not comply to the
- Fixed bug in the include extension's import/export commands.
Duplicate import/exports caused problems.
- Fixed bug in the handling of non-existent scripts. Errors were
- Dovecot omitted unfolding multi-line headers. This was added to the
cmusieve plugin after the code was incorporated into the new
implementation. This is now implicitly fixed by concurrent change in
Changelog ManageSieve v0.11.2:
* Adapted to changes in Dovecot, making this release dependent on
Dovecot >= v1.2.alpa4
The following files are released:
The full story of the new Sieve implementation is available in my
I still need to update the wiki with pointers to the new Sieve
implementation. I hope to have some time and motivation to do so in the
next few days.
Have fun testing the new releases and don't hesitate to notify me when
there are problems.
I should have released this earlier since v1.1.6 had that annoying
startup problem, but surprisingly few people complained about it so I
kind of forgot about it then.
BTW. v1.2 progresses nicely. Now that shared mailboxes are finally fully
supported, there aren't any widely used IMAP features missing from
Dovecot. v1.2.beta1 shouldn't be in too distant future anymore.
* IMAP QUOTA extension now returns "MESSAGE" quota, not "MESSAGES".
This makes Dovecot now RFC 2087 compliant. Hopefully this change
doesn't break anyone's Dovecot-specific quota checking code..
+ Added !include and !include_try directives to config file reader.
Note that !include doesn't currently work with deliver. The main
point here is that ssl_key_password can be placed to a different
file with !include_try that deliver can just ignore.
+ More error/debug message logging improvements.
- v1.1.6 gave "userdb didn't return a home directory" error at startup
- Some config file parsers (deliver, passwd-file, acl, trash) ignored
the file's last line if it didn't end with LF.
- fts: SEARCH SUBJECT didn't search messages that weren't already
in fts index.
- fts-solr: Don't assert-crash if we couldn't connect to Solr.
- IMAP: Mailbox deletion gave an error, but still worked, if mails'
control directory wasn't the same as index directory.
- Several fixes to rarely used mailbox list layout configurations.