OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: A question about Milters and Thread Safety

From: Victor Duchovni (Victor.DuchovniMorganStanley.com)
Date: Tue Sep 04 2007 - 08:16:13 CDT


On Mon, Sep 03, 2007 at 12:58:15PM -0700, Ronald F. Guilmette wrote:

>
> In message <20070903193047.4AF311F3EA1spike.porcupine.org>,
> wietseporcupine.org (Wietse Venema) wrote:
>
> >Ronald F. Guilmette:
> >> Just for the sake of my edification, could you please also tell me
> >> _why_ a Postfix milter has to be thread safe?
> >
> >There is no such thing as a Postfix Milter.
> >
> >Your milter application runs on top of libmilter.
>
> Well, that sort-of begs the question... What if it _didn't_ run on
> top of libmilter? What if it skipped that and tried to interface
> to Postfix smtpd directly? Would my milter still have to be
> thread-safe under that scenario?

No, but it needs to handle concurrent requests for service in some
fashion, it could be forking or preforking, ...

> (Please forgive me for making such an issue of this, but it really
> would be a major pain in the ass to make what I have in mind thread-
> safe. A significant part of the problem with doing that... but
> certainly not the only problem... is that the spam filter that I'd
> like to turn into a milter does DNS lookups. Sadly, I am not aware
> of any thread-safe DNS primitives library, so I kind-of think that
> I'd be stuck trying to write my own, from scratch. Am I just looking
> in the Wrong Places? Does anybody here happen to know of a reasonably
> priced thread-safe DNS primitives library?)

If you don't use libmilter, and have some way of handling concurrent
requests without blocking for very long, you can use a non-threaded
milter implementation.

--
        Viktor.

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the "Reply-To" header.

To unsubscribe from the postfix-users list, visit
http://www.postfix.org/lists.html or click the link below:
<mailto:majordomopostfix.org?body=unsubscribe%20postfix-users>

If my response solves your problem, the best way to thank me is to not
send an "it worked, thanks" follow-up. If you must respond, please put
"It worked, thanks" in the "Subject" so I can delete these quickly.