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!
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. :)