[Dovecot-news] First release (v0.1.0) of the new Sieve implementation for Dovecot v1.2

Stephan Bosch stephan at rename-it.nl
Thu Oct 23 22:40:34 EEST 2008

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:

* fileinto
* reject
* envelope
* encoded-character
* vacation
* subaddress
* relational
* regex
* imap4flags
* copy
* include
* body
* variables

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.


Stephan Bosch
stephan at rename-it.nl
IRC: Freenode, #dovecot, S[r]us

More information about the Dovecot-news mailing list