Stephan Bosch schreef:
This script states: require [""];
This is not valid sieve to my knowledge and it doesn't serve any useful purpose: there is no empty sieve extension, so this seems to be a bug in avelsieve. Lib-CMUSieve correctly reports an error.
Btw, I tested avelsieve myself as well (to test yet another sieve client), but it also caused a syntax error:
NO "line 6: syntax error, unexpected ']', expecting STRING"
I don't yet know what caused this, but I intend to find out as soon as I get to sniff the TCP communication properly. Found it. Avelsieve incorrectly assumes the SIEVE capabilities to be
Stephan Bosch wrote: listed in lowercase. Dovecot-managesieve lists them in uppercase. Just to be sure I reread the MANAGESIEVE (v07) draft specification. It gives an example of the SIEVE capability response in UPPER CASE (it says nothing explicitly), but it also refers to the SIEVE specification, which says:
Any extensions to this language MUST define a capability string that
uniquely identifies that extension. Capability string are case-
sensitive; for example, "foo" and "FOO" are different capabilities.
If a new version of an extension changes the functionality of a
previously defined extension, it MUST use a different name.
Extensions may register a set of related capabilities by registering
just a unique prefix for them. The "comparator-" prefix is an
example of this. The prefix MUST end with a "-" and MUST NOT overlap
any existing registrations.
So, I seems that I am pretty much wrong in this case. I'll change the code and notify the maintainer of the managesieve specification. Until I publish a new patch, the patch to avelsieve will work however.
Regards,
-- Stephan Bosch stephan@rename-it.nl IRC: Freenode, #dovecot, S[r]us