martin f krafft
2006-Jun-30 22:39 UTC
[Dovecot] writing a plugin for LDA to chain Unix pipes
Hi, I've spent some part of the last week on trying to figure out whether dovecot LDA meets our requirements for a new mail server infrastructure (the IMAP and POP servers, as well as the SASL backend certainly do; thanks a lot!). The one thing that's holding me back is that we need per-user integration of SpamAssassin and some other, custom content filters, all of which are implemented as Unix pipe filters. My conclusion is that since dovecot LDA cannot yet integrate such filters in the delivery chain, but it supports plugins, that such a plugin must be written. Conceptually, it's very simple: a configuration file option specifying the Unix pipe, and a plugin that does the proper popen() (or whatever is to be used these days) call, checking for errors and doing the right thing. Unfortunately, I do not have much time at my hands -- basically it all boils down to Sunday evening and a little bit of Monday, and then it's got to be done. My C is rusty, but I do have a lot of experience with it, so I am confident... ... but what would really help is if someone who knows the internals of Dovecot would give me a starting point, or even some more information. How do I conceive to write such a plugin? I could not find the information online, and I'd rather not reverse engineer existing plugins, for that approach usually leads to ugly and hence unstable/insecure/unusable code. Any feedback is thus warmly appreciated! Also, if someone is online on IRC on Sunday and Monday and wouldn't mind if I asked a question now and then, please let me know. It goes without saying that I will happily submit my plugin (once its tested) to Dovecot upstream under the Artistic Licence, or if that doesn't work, another licence of your choosing. Thanks, -- martin; (greetings from the heart of the sun.) \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net at madduck spamtraps: madduck.bogus at madduck.net "common sense is the collection of prejudices acquired by age eighteen." -- albert einstein -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature (GPG/PGP) URL: <http://dovecot.org/pipermail/dovecot/attachments/20060701/ce851df8/attachment.bin>
Marcus Rueckert
2006-Jul-01 03:17 UTC
[Dovecot] writing a plugin for LDA to chain Unix pipes
On 2006-07-01 00:39:40 +0200, martin f krafft wrote:> I've spent some part of the last week on trying to figure out > whether dovecot LDA meets our requirements for a new mail server > infrastructure (the IMAP and POP servers, as well as the SASL > backend certainly do; thanks a lot!). The one thing that's holding > me back is that we need per-user integration of SpamAssassin and > some other, custom content filters, all of which are implemented as > Unix pipe filters.run them in your MTA before pushing stuff into the LDA? e.g. i deliver incoming via lmtp to dspam. dspam reinjects the mail into postfix. and postfix calls dovecot-lda to deliver the mail. works flawlessly here. so i dont see why we should bloat dovecot-lda, when most mail server handle that just fine already. just my 2 cents, darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org