[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