|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Leandro Santi (lesanti
gmail.com)
Date: Wed Sep 05 2007 - 13:22:15 CDT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 9/4/07, Ronald F. Guilmette <rfg
monkeys.com> wrote:
> >Your app can implement/talk milter protocol internally. You don't
> >interface to Postfix smtpd directly, but you use sockets to talk
> >to Postfix. Speaking of the protocol - well, one (reference)
> >implementation of server-side milter (Postfix is on client side
> >in this case) is libmilter, which use threads - you can roll your
> >own...
>
> Thanks. That's exactly what I suspected... and I may indeed have to do
> that.
Before diving into the details of rolling milter
by your own, take a look at Vernon Schryver's
*excellent* DCC. It does DNS BLs, milter (using
the reference milter API, so it's multithreaded),
and much more.
http://rhyolite.com/anti-spam/dcc/
(Look for dccm.) It's primarily written in C. From
what I recall, it works out the DNS queries by
wrapping the standard system resolver API with
POSIX thread locks (this applies to dccm, but not
to other single threaded apps that are being
distributed in the same source tarball). This
workaround should be good enough, given an
appropriate system architecture.
It might be worth to take a look at it (including
its license, which contains exceptional terms for
a specific case).
Leandro
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]