Hello Dovecot users,

I have finally finished the first release of Pigeonhole for Dovecot v2.0. The most notable change from previous Dovecot v1.2 Sieve/ManageSieve releases is that all is now integrated in a single package and there is no need to patch Dovecot anymore to gain ManageSieve support.

Changelog v0.2.0:

 * Merged Sieve and ManageSieve packages into a single Pigeonhole
   package. There is also no need to patch Dovecot anymore to gain
   ManageSieve support. Version numbering of previous Sieve releases is
   continued as v0.2.0. The sources originally branched off from Sieve
   v0.1.5 and ManageSieve v0.11.4, but the NEWS history of much more
   recent releases for Dovecot v1.2 is included since these changes are
   all included in this release as well.
 * The ManageSieve service now binds to TCP port 4190 by default due to
   the IANA port assignment for the ManageSieve service. When upgrading
   from v1.2, this should be taken into account. The service can be
   configured manually to listen on both 2000 and 4190.
 * The Dovecot configuration now calls the ManageSieve protocol 'sieve'
   in stead of 'managesieve' because it is registered as such with
   IANA. The binaries and the services are still called managesieve and
   managesieve-login.
 * The binary representation of a compiled Sieve script is updated to
   include source code locations of all commands and arguments. This is
   implemented in a similar manner as such debug information is
   included in some system executables and libraries (DWARF-like).
   Run-time errors can now always refer to the proper line number in
   the Sieve source script.
 * The Sieve plugin is adapted to work properly with the new LMTP
   service introduced with Dovecot v2.0. The same plugin is used for
   both LDA and LMTP.
 * The 'sieve_subaddress_sep' setting for the Sieve subaddress extension
   is now known as 'recipient_delimiter'. Although the deprecated
   sieve_subaddress_sep setting is still recognized for backwards
   compatibility, it is recommended to update the setting to the new
   name, since the new LMTP service also use the recipient_delimiter
   setting.
 * ManageSieve: changed default IMPLEMENTATION capability to from
   'Dovecot' to 'Dovecot Pigeonhole'.
 * Renamed the sieved tool to sieve-dump. The original name was somewhat
   confusing.
 * Updated man pages to match style and structure of new Dovecot man
   pages.
 * Made testsuite commands more uniform and cleaned up many of the
   testsuite scripts. Some minor new tests were added in the process.
 + Simplified string matching API to use abstract string lists as data
   sources. This will also make implementing the index extension easier
   in the future.
 + Significantly improved trace debugging with the sieve-test tool. The
   full execution of the script can be examined, including the matched
   values and keys of the respective Sieve test commands. The executed
   statements are listed with their line number (and code address when
   requested). The level of detail is configurable from the command
   line.
 + The SIEVE and NOTIFY capabilities reported by the ManageSieve
   protocol can now be configured manually. If left unconfigured, the
   capabilities are determined from the default Sieve and ManageSieve
   configuration. User-specific capabilities aren't reported until
   after authentication.
 + Significantly improved file error handling. This means that
   administrators get a more useful and informative log message when
   file operations fail. The most notable example is that when the LDA
   Sieve plugin is trying to store a binary for a global script, the
   resulting failure message also points the administrator towards
   pre-compiling the script with sievec.
 + Added runtime argument value checking for several commands
   (redirect, date, vacation). When variables are used, these checks
   cannot be performed at compiletime. A proper runtime error now is
   produced when invalid data is encountered.
 + UTF8 validity of fileinto command argument is now checked either at
   compile time or at runtime. Previously, it was not checked until the
   store action was executed.
 + Validity of IMAP flags for the imap4flags extension is now checked
   also at runtime. Previously, it was not checked until the store
   action was executed.
 + Simplified and restructured error handling. Also made sure that
   user-caused errors are no longer written to the Dovecot master/LDA
   log.
 - Multiscript: fixed duplicate implicit keep caused by erroneous
   execution state update.
 - Prevented assertion failure due to currupt binary string
   representation. If the string was missing a final \0 character an
   assertion was produced in stead of a binary corruption error.
 - Imap4flags: fixed bug in setflag command; when parameter was a
   stringlist, only the last item was actually set.
 - Variables extension: fixed :length set modifier to recognize utf8
   characters in stead of octets.
 - Testsuite: prevented innocent warning messages, i.e. those that are
   part of the test, from showing up by default.
 - ManageSieve/Sieve storage: fixed error handling of PUTSCRIPT
   commmand; save commit errors would not make the command fail.
 - ManageSieve: enforced protocol syntax better with some of the
   commands; some commands allowed spurious extra arguments.
 - Fixed Sieve script name checking to properly handle length limit and
   added 0x00ff as invalid character.
 - Removed spurious old stdio.h (top) includes; these caused compile
   issues on specific systems.
 - Fixed default Sieve capability (as reported by ManageSieve): extra
   extensions spamtest, spamtestplus and virustest were enabled by
   default. These should, however, only be enabled when properly
   configured and there is no default configuration.

The release is available as follows:

http://www.rename-it.nl/dovecot/2.0/dovecot-2.0-pigeonhole-0.2.0.tar.gz
http://www.rename-it.nl/dovecot/2.0/dovecot-2.0-pigeonhole-0.2.0.tar.gz.sig

Refer to http://pigeonhole.dovecot.org and the Dovecot v2.0 wiki for more information. Have fun testing this first release and don't hesitate to notify me when there are any problems.

The bugfixes above are also applied to the Dovecot v1.2 Sieve and ManageSieve sources and I'll produce new releases for those in the next few days.

Oh.. and if anyone is wondering what those duplicate notifications are on the dovecot-cvs list.. well.. oops. :)

Regards,

--
Stephan Bosch
[email protected]











Reply via email to