Hello Dovecot users,
There haven't been that many Pigeonhole developments lately, not even
really significant bugs were reported. That is why this release is
pretty small in terms of changes.
However, one issue got some attention: the fact that not recompiling
Pigeonhole for Dovecot v2.0.3 would result in rather interesting message
delivery. Normally, Dovecot would complain about a version mismatch, but
unfortunately Pigeonhole's Sieve plugin didn't record the Dovecot
version it was compiled with. Starting with this release, such problems
should not occur again.
Changelog v0.2.1:
+ Incorporated distinction between original and final envelope
recipient in Sieve interpreter, as recently introduced in Dovecot.
+ Regex extension: added support for regex keys composed from
variables.
- LDA Sieve plugin: added _version symbol to enable Dovecot's plugin
version check. Without this check, people can forget to recompile
the plugin, which can lead to unexpected effects.
- LDA Sieve plugin: turned debug message about an unconfigured home
directory into a proper error and added script path information.
- Fixed unnecessary reporting of dummy extensions in ManageSieve SIEVE
capability; the comparator-i;octet and comparator-i;ascii-numeric
'extensions' were reported explicitly.
The release is available as follows:
http://www.rename-it.nl/dovecot/2.0/dovecot-2.0-pigeonhole-0.2.1.tar.gzhttp://www.rename-it.nl/dovecot/2.0/dovecot-2.0-pigeonhole-0.2.1.tar.gz.sig
Refer to http://pigeonhole.dovecot.org and the Dovecot v2.0 wiki for
more information. Have fun testing this new release and don't hesitate
to notify me when there are any problems.
Regards,
--
Stephan Bosch
stephan(a)rename-it.nl
http://dovecot.org/releases/2.0/dovecot-2.0.4.tar.gzhttp://dovecot.org/releases/2.0/dovecot-2.0.4.tar.gz.sig
multi-dbox users: Be careful about the INDEX change.
Maildir users: I hope v2.0 is now finally stable.
* multi-dbox: If :INDEX=path is specified, keep
storage/dovecot.map.index* files also in the index path rather than
in the main storage directory.
WARNING: if you specified :INDEX= with earlier mdbox installation,
you must now manually move the storage indexes to the expected
directory! Otherwise Dovecot won't see them and will rebuild the
indexes, possibly unexpunging some mails.
- Maildir: Copying messages with hard links sometimes caused the
source maildir's entire tmp/ directory to be renamed to destination
maildir as if it were a message.
- Maildir: v2.0.3 broke expunging copied messages sometimes
- Maildir: INBOX whose tmp/ directory was lost couldn't be opened
- single-dbox: Messages weren't copied with hard links
- vpopmail support is hopefully working again.
- dsync: POP3 UIDLs weren't copied with Maildir
- dict file: Fixed fd leak (showed up easily with LMTP + quota)
http://dovecot.org/releases/2.0/dovecot-2.0.3.tar.gzhttp://dovecot.org/releases/2.0/dovecot-2.0.3.tar.gz.sig
* dovecot-lda: Removed use of non-standard Envelope-To: header as a
default for -a. Set lda_original_recipient_header=Envelope-To to
returns the old behavior.
+ Added support for reverse quota warnings (i.e. when quota goes back
under the limit). This is enabled by adding '-' to beginning of
quota_warning value. Based on patch by Jeroen Koekkoek.
+ dovecot-lda: Added lda_original_recipient_header setting, which is
used for getting original recipient if -a isn't used.
+ dovecot-lda: Added -r parameter to specify final recipient address.
(It may differ from original address for e.g. aliases.)
+ Maildir: uidlist file can now override message's GUID, making it
possible for multiple messages in a mailbox to have the same GUID.
This also fixes dsync's message conflict resolution.
- dovecot-lda: If destination user isn't found, exit with EX_NOUSER,
not EX_TEMPFAIL.
- dsync: Fixed handling \Noselect mailboxes
- Fixed an infinite loop introduced by v2.0.2's message parser changes.
- Fixed a crash introduced by v2.0.2's istream-crlf changes.
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.gzhttp://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(a)rename-it.nl
http://dovecot.org/releases/2.0/dovecot-2.0.2.tar.gzhttp://dovecot.org/releases/2.0/dovecot-2.0.2.tar.gz.sig
Many small fixes and logging improvements, but most importantly fixes
LMTP with Maildir.
* vpopmail support is disabled for now, since it's broken. You can use
it via checkpassword support or its sql/ldap database directly.
- maildir: Fixed "duplicate uidlist entry" errors that happened at
least with LMTP when mail was delivered to multiple recipients
- Deleting ACLs didn't cause entries to be removed from acl_shared_dict
- mail_max_lock_timeout setting wasn't working with all locks
- auth_cache_size setting's old-style value wasn't autoconverted
and it usually also caused a crash