[Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10
Hello Dovecot users,
It's been a while since the last Pigeonhole Sieve and ManageSieve releases. That is why this release includes quite a few changes. Most interestingly, the include extension is updated to match the most recent specification, the Sieve interpreter now includes plugin support and ManageSieve now has support for enforcing quota on the size of scripts, the number of scripts and the space the scripts occupy on disk.
Other than that, quite a few small bugs were fixed. One of which was in the i;ascii-numeric comparator. If one of the matched strings did not start with a digit, the comparator would always yield a 'less-than' result. In stead it should have considered the string starting with the non-digit character as having a positive infinite value. Elsewhere in this list, Julian Cowley pointed out that negative values also start with a non-digit character, which some people may not have understood (i.e. i;ascii-numeric works only on unsigned values). The bug fix in this release could therefore change result of certain misconceived (and probably spam-related) Sieve rules, so watch out!
I started work on the spamtest(plus) and virustest extensions. These are implemented for the most part, but their configurability needs quite a bit more work.
Changelog Sieve v0.1.15:
- Enotify extension:
- Adjusted notify method API for addition of new notification methods.
- Set default importance level to 'normal' (was 'high').
- Include extension: updated implementation towards most recent
specification (all should be backwards compatible):
- Implemented global variables namespace.
- Global command may now appear anywhere in a script.
- Implemented script name checking using the requirements specified in the ManageSieve draft.
- One issue remains: ManageSieve currently requires included scripts to be uploaded first, which is not according to specification.
- Changed envelope path parser to allow to and from envelope addresses that have no domain part.
- Added preliminary support for Sieve plugins and added support for installing Sieve development headers.
- Started work on the implementation of the spamtest, spamtestplus and virustest extensions (unfinished).
- Deprecated notify extension: implemented denotify command.
- Variables extension: added support for variable namespaces.
- Added configurable script size limit. Compiler will refuse to compile files larger than sieve_max_script_size.
- Testsuite changes:
- Added support for changing and testing an extension's configuration.
- Added a command line parameter for copying errors to stderr.
- Fixed a bug in the i;ascii-numeric comparator. If one of the strings started with a non-digit character, the comparator would always yield less-than.
- Imap4flags extension: fixed bug in removeflag: removing a single flag failed due to off-by-one error (bug report by Julian Cowley).
- Improved EACCES error messages for stat() and lstat() syscalls and slightly improved error messages that may uccur when saving a binary.
- Vacation extension: fixed typo in runtime log message (patch by Julian Cowley).
- Fixed use of minus '-' in man pages; it is now properly escaped.
- Fixed parser recovery. In particular cases it would trigger spurious errors after an initial valid error and sometimes additional errors were inappropriately ignored.
Changelog ManageSieve v0.11.11:
- This release contains adjustments to match changes in the Sieve API. This means that this release will only compile against Pigeonhole Sieve v0.1.15.
- Implemented ManageSieve QUOTA enforcement.
- Added MAXREDIRECTS capability after login.
- Implemented new script name rules specified in most recent ManageSieve draft.
- Fixed assertion failure occuring with challenge-response SASL mechanisms.
- Made configure complain about trying to compile against installed Dovecot headers alone.
- Fixed compile warning for compilation against CMUSieve.
The releases are available as follows:
Sieve:
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz.sig
ManageSieve (package + patch):
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz.s...
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff.... http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff....
Refer to http://pigeonhole.dovecot.org for more information. Have fun testing the new releases and don't hesitate to notify me when there are problems.
Regards,
-- Stephan Bosch stephan@rename-it.nl
On Jan 25, 2010, at 5:03 AM, Stephan Bosch wrote:
The releases are available as follows:
Sieve:
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2- sieve-0.1.15.tar.gz.sig
First time I ever received an error when compiling dovecot sieve from
you...
ld: duplicate symbol _act_notify_old in .libs/lib90_sieve_plugin.lax/ libsieve.a/ext-notify-common.o and .libs/lib90_sieve_plugin.lax/ libsieve.a/cmd-denotify.o collect2: ld returned 1 exit status make[4]: *** [lib90_sieve_plugin.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Let me know if you need to see anything else, Stephan.
B. Bodger Oklahoma City, OK
Bruce Bodger wrote:
On Jan 25, 2010, at 5:03 AM, Stephan Bosch wrote:
The releases are available as follows:
Sieve:
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz.sig
First time I ever received an error when compiling dovecot sieve from you...
ld: duplicate symbol _act_notify_old in .libs/lib90_sieve_plugin.lax/libsieve.a/ext-notify-common.o and .libs/lib90_sieve_plugin.lax/libsieve.a/cmd-denotify.o collect2: ld returned 1 exit status make[4]: *** [lib90_sieve_plugin.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Let me know if you need to see anything else, Stephan.
Sigh.. not again. I forgot extern at various occasions (and possibly even more):
http://hg.rename-it.nl/dovecot-1.2-sieve/rev/fe0b2ff50326
Why doesn't GCC warn about this? I usually only find out when people like you report compile failures. What compiler are you using?
Can apply the above change and try again..
Regards,
Stephan.
On Jan 25, 2010, at 2:16 PM, Stephan Bosch wrote:
Sigh.. not again. I forgot extern at various occasions (and possibly
even more):http://hg.rename-it.nl/dovecot-1.2-sieve/rev/fe0b2ff50326
Why doesn't GCC warn about this? I usually only find out when people
like you report compile failures. What compiler are you using?Can apply the above change and try again..
Much better! Thank you.
Compiling with gcc version 4.0.1 (Apple Inc. build 5493)
Thank you very much.
B. Bodger Oklahoma City, OK
participants (2)
-
Bruce Bodger
-
Stephan Bosch