On Wed, Mar 22, 2006 at 12:29:22PM +0000, Philip Hazel wrote:
> On Wed, 22 Mar 2006, Chris Lightfoot wrote:
> 
> > I believe it's because exim links against libc_r (because
> > it is linked against libcrypto, which itself is linked
> > against libc_r). 
> 
> This does not seem to be a problem on FreeBSD 4.10, which is where I ran 
> my tests, which do include Exim operating as a server, both with and 
> without TLS (linked with -lcrypto). 
> 
> > In this version of FreeBSD (5.2.1-RELEASE) the threads library is a
> > userspace one, and I think it must be setting O_NONBLOCK on stdin for
> > some reason of its own.
> 
> OK, it sounds like a FreeBSD 5 thing, but how is it related to stdin? Or 
> are you running Exim from inetd?

No, running exim as a daemon. As I say, I haven't figured
out exactly where the problematic call to fcntl occurs,
but certainly it does occur for both exim -bh and incoming
SMTP connections, so it affects both stdin (in the -bh
case) and the SMTP stream in the normal case. (I think it
might be because libc_r overrides fcntl and forces
O_NONBLOCK on -- see lib/libc_r/uthread/uthread_fcntl.c --
but I'm not certain.)

I'm not really in a position to investigate further at the
moment, but the next person to see this problem should
have something to start from, anyway....

> > My patch isn't harmless, sadly -- it results in a file
> > descriptor leak which I also haven't been able to
> > localise. However, rebuilding the port with
> > WITHOUT_TLS=yes fixes the problem, which is enough for me.
> 
> My reaction to that is to do nothing until I hear more, either from you 
> or somebody else... I hope this is reasonable.

sure.

-- 
Chris Lightfoot
mySociety

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to