Hello Dovecot users,

In the last week two nasty bugs were found in the new Sieve implementation. Primarily, the include extension did not work when a compiled binary was loaded from disk. This is something that is still not tested by the test suite, giving this bug the opportunity to slip through. Also, the value matching implementation would sometimes cause a assertion failure. Other than that, various small bugs were fixed.

On the more positive side, I have implemented support for the new mailbox extension (RFC 5490), which provides the means to test whether a mailbox exists. Also, it adds the :create argument to the fileinto command, which makes sure that the target folder is created before saving is attempted. Of course, this is only useful when deliver is used with the -n option. There wasn't a great need for this extension, but I could use it in the test suite and it was almost trivial to implement.

In other news, I have further developed the sieve-filter command line tool. It is getting closer to a usable state, being able to filter a large number of messages in an existing mailbox, but its use is currently still very much discouraged as it tends to be very good at eating mailboxes when the user is less attentive. It needs more command line configuration options, a simulation mode to perform a dry run, and a man page that describes its use and its dangers.

Changelog for Sieve v0.1.10:

    * Changed action execution of fileinto and keep. These changes
      depend on API additions in Dovecot, making this release depend on
      Dovecot v1.2.2 or newer.
    * Further developed the sieve-filter command line tool. This
      required a few changes to the action execution of the Sieve
      engine. The tool was successfully tested on folders with a few
      100k spam messages. However, the commandline options are still
      incomplete, a man page is missing and it needs much more testing
      before I can recommend anyone to use this tool.
    + Added support for the mailbox extension. This allows checking
      whether a mailbox exists using the mailboxexists command and it
      adds the :create argument to the fileinto command to create the
      mailbox when it is missing. The :create feature is useless unless
      the Deliver LDA is run with the -n option.
    + Improved the testsuite with tests for message delivery. Messages
      stored using keep and fileinto can be fed back into the Sieve
      engine for verification. This includes testing of applied IMAP
      flags.
    + Updated the man pages with the new method of specifying the
      supported extensions using + and - (for the -x parameter of the
      sieve tools)
    + Further developed the deprecated notify extension. A dummy for the
      denotify command exists, meaning that its use does not cause an
      error anymore.
    - Fixed a bug in the derivation of the binary path from the script
      path. A bare filename would yield a path relative to root.
    - Fixed a bug in the value matching code. The context data now uses
      a proper pool in stead of the data stack. Bug reported by Jan
      Sechser.
    - Fixed assertion fail in the include extension caused by missing
      initialization upon binary load. This bug surfaces only for stored
      binaries. Bug reported by Tom Hendrikx.
    - Fixed include error message for failed :global include. It
      mentioned the wrong config parameter.
    - Fixed broken wiki reference in an error message of the plugin
      about the 'sieve' setting.
    - Fixed behavior of fileinto when delivering into a namespace
      prefix. Previous fix used the wrong storage.



The release is available as follows:

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.10.tar.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.10.tar.gz.sig



Have fun testing the new releases and don't hesitate to notify me when
there are problems. Please include your configuration, the involved Sieve scripts and an example message in any bug or problem report when possible, so that I can easily reproduce the issue.

Regards,

--
Stephan Bosch
step...@rename-it.nl








Reply via email to