[Dovecot] writing a plugin for LDA to chain Unix pipes

martin f krafft madduck at madduck.net
Sat Jul 1 01:39:40 EEST 2006


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: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature (GPG/PGP)
Url : http://dovecot.org/pipermail/dovecot/attachments/20060701/ce851df8/attachment.pgp


More information about the dovecot mailing list