[Dovecot] Released Pigeonhole v0.2.0 for Dovecot v2.0.2

Stephan Bosch stephan at rename-it.nl
Fri Sep 10 04:01:32 EEST 2010


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
stephan at rename-it.nl













More information about the dovecot mailing list