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