On Thu, 9 Sep 1999, Peter Galbavy wrote:
> > I smell a system with 32 bit UIDs and presumably stuffing the uid into
> > a short or other 16 bit quantity somewhere....
>
> That was my initial reaction, and the symtoms are of that type of
> effect, but I cannot find *anything* in the path from YP through libc
> through src/exim.c and src/globals.h ... sigh.
Well, Exim just calls getpwuid() on the value it gets from getuid(), the
intermediate value being held in a uid_t. The result of getpwuid() must
have been NULL to cause that error. The long pause is because it tries
10 times to do this, with a 1-second wait between attempts. This is to
cope with the case when a NIS server is temporarily down (you can't
distinguish between "no such user" and "timeout or other error".)
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.