Hello Dovecot users,
The rc1 release showed a few problems with the up-to-date checking of on-disk binary files. The binary files contain some metadata about the script these were compiled from. If this doesn't match the current script anymore, the script is recompiled. One of these metadata items is the script location. However, this location wasn't normalized, so when the binary would be compiled with sievec it depended on the path provided at the command line.
When dumping a script binary, the metadata is now printed as well. Also, I added more debug log lines about up-to-date checking.
I improved backwards compatibility for the file script storage a bit relative to the last version. It now properly recognizes a regular file at the symlink path, even when the storage path itself doesn't exist.
Changelog v0.4.7 (updated):
- editheader extension: Made protection against addition and deletion of
headers configurable separately. Also, the
Received' and
Auto-Submitted' headers are no longer protected against addition by default. - Turned message envelope address parse errors into warnings.
- The interpreter now accepts non-standard domain names, e.g. containing '_'.
- Implemented the Sieve index extension (RFC 5260).
- Implemented support for the mboxmetadata and servermetadata extensions (RFC 5490).
- Implemented new sieve commands for the doveadm command line utility. These commands are currently limited to ManageSieve operations, but the other current sieve tools will be migrated to doveadm in the near future as well.
- Added more debug output about binary up-to-date checking.
- Added script metadata to binary dump output.
- Fixed Sieve script binary up-to-date checking by normalizing the script location.
- The Sieve interpreter now flushes the duplicate database during start phase of result execution rather than commit phase. This makes sure locks on the duplicate database are released as soon as possible, preventing contention.
- Performed a few optimizations in the lexical scanner of the language.
- Fixed bug in `:matches' match-type that made a pattern without wildcards match as if there were a '*' at the beginning.
- Fixed crash in validation of the string parameter of the comparator tag.
- extprograms extension: Made sure supplemental group privileges are also dropped. This was a problem reported by Debian lintian.
- Fixed bug in handling of binary errors for action side-effects and message overrides.
- file script storage: Restructured storage initialization to address backwards compatibility issues.
- dict script storage: Fixed small memory allocation bug.
The release is available as follows:
http://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-0.4.7.rc2.... http://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-0.4.7.rc2....
Refer to http://pigeonhole.dovecot.org and the Dovecot v2.x 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@rename-it.nl