Stephan Bosch wrote:
Hello Alexey,
Hi Stephan,
I am implementing a managesieve daemon and it seems that recent
(draft) changes to the sieve specification will conflict with the
current managesieve specification (at least the examples given therein).
The new sieve specification states in chapter 6 'Extensibility':
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.
The latest managesieve draft gives the following example in section
1.8 'Capabilities':
S: "IMPlemENTATION" "Example1 ManageSieved v001"
S: "SASl" "DIGEST-MD5 GSSAPI"
S: "SIeVE" "FILEINTO VACATION"
S: "StaRTTLS"
S: "NOTIFY" "xmpp mailto"
S: OK
The capability fileinto for example is replied in upper case and the
sieve specifications currently define all extensions in lower case.
Good catch. I've fixed examples in my copy, so this will be fixed in -08.
I based my original implementation on this example and I encountered
conflicts with some clients. I initially assumed these clients were
the cause. But, actually this is not quite clear from the original
Sieve specification. The new draft Sieve specification explains this
much more explicitly, so you might want to update the managesieve
specification in this respect as well.
Regards,
Alexey