[exim-dev] Exim sieve capabilities and pysieved

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: Neale Pickett, Philippe Levan
CC: exim-dev, Michael Haardt
Subject: [exim-dev] Exim sieve capabilities and pysieved
Gentlemen,

I've just committed to Exim git a new command-line option, to
interrogate the binary for a supported list of Sieve extensions.

I anticipate that for daemons speaking ManageSieve (RFC 5804) this will
be useful for providing an accurate SIEVE capability line.

At present, it emits a hard-coded list of capabilities, taking into
account any build-time options. It does *not* handle any configuration,
which would vary on a per-Router basis!

% ./build-test/exim -bI:sieve
comparator-i;ascii-numeric
copy
encoded-character
enotify
envelope
fileinto
subaddress
vacation
%

Does this look useful for you, or am I in need of a reality check?

The precise option used is still unsettled; I've only just committed it,
other devs might point out a better way of doing this. So far, I've
grabbed -bI:$keyword and implemented "help" and "sieve" keywords.

Without knowing how many different Routers might support sieve scripts,
the best I can think of is something like -bI:sieve-list-routers to
iterate all Routers and emit the names of those which are redirect
routers with allow_filter set and forbid_sieve_filter unset. Then
permit something like "exim -bI:sieve:userforward" to interrogate the
list of extensions supported for that Router; however, since options
such as sieve_vacation_directory are expanded strings which can depend
upon properties of the mail being routed, we can't guarantee useful or
accurate results.

So getting a completely correct list still needs some thought, but I
think this gets us closer to something helpful.

Feedback very much appreciated! We have until the next Exim release to
sort out the interface details. :)

-Phil