[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