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-bo...
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@rename-it.nl