Yahoo Groups archive

Milter-greylist

Index last updated: 2026-04-28 23:32 UTC

Message

Re: [milter-greylist] Re: Segfault due to non-reentrant GeoIP?

2010-02-10 by Petar Bogdanovic

On Wed, Feb 10, 2010 at 02:18:17PM +0100, Enrico Scholz wrote:
> Enrico Scholz
> <enrico.scholz-jNDFPZUTrfQ+B2oLq8eQJv4efur1V5z/s0AfqQuZ5sE@...>
> writes:
> 
> > This seems to happen when two hosts connect within a very short time. I
> > think that GeoIP_id_by_name() is called for the second host while this
> > function is still executed for the first one.  As both are operating on
> > the same 'geoip_handle' handle, this will corrupt internal state when
> > geoip is not reentrant.
> 
> While looking over the code it seems that other subsystems have similar
> issues. E.g. 'p0f' uses a shared 'p0fsock' socket in non-atomic
> reconnect-write-read sequences.  Ditto for 'spamd'.

I don't understand.  Why should we lock that?  In case of spamd, every
thread talks to a separate spamd child through its own socket fd..

		Petar Bogdanovic

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.