[Dovecot] Sieve > Pigeonhole > external storage with LDAP or other data source available to dovecot
Stephan Bosch
stephan at rename-it.nl
Sat Jan 9 00:17:41 EET 2010
Martin F. Foster wrote:
> I am looking at porting and generalizing an old in-house patch that I'm
> using for the CMU Sieve plugin. It allows sieve script to test & lookup
> arguments from LDAP.
>
> Before getting too involved in this, I'd like to discuss my goals here
> in the hopes that someone else also thinks this would be useful. Many
> heads may make better design?
>
I thought this would be an excellent opportunity to test the new
Pigeonhole plugin support and also to do something interesting with the
namespace functionality of the variables extension. That is why I gave
this a short look, which promptly resulted in a preliminary implementation.
If you want to play around with it, you can download it from:
http://hg.rename-it.nl/pigeonhole-sieve-extdata/
It will compile and run with both Pigeonhole for Dovecot v1.2 and
Pigeonhole for Dovecot v2.0, but only with the tip Mercurial revisions
(since only those have plugin support).
I swiped together many of the ideas posted here on the mailing list and
from those I concocted the following Sieve language extension:
http://hg.rename-it.nl/pigeonhole-sieve-extdata/raw-file/tip/doc/rfc/spec-bosch-sieve-external-data.txt
Note that - despite its looks - this is not intended as a IETF draft
submission, but merely as a internal memo for the specification of this
vendor-specific extension (in a familiar format). It could be further
extended with an 'extdata_open' command to dynamically link a resource
URI to a data store identifier, but thus far I did not bother to write
that idea down.
All the necessary installation information should be found in the
INSTALL and README files. Note that I have only tested this against a
flat file dict and not something like SQL. So that may still be broken
somehow.
Tell me what you think.
Regards,
--
Stephan Bosch
stephan at rename-it.nl
More information about the dovecot
mailing list