Dan Lists: > > It has NOTHING TO TO WITH THREADS. In particular, getpwnam() on top of *SQL etc. return null (i.e. user not found) when the database is unavailable. There is no official API for getpwnam() to indicate "I don't know" because getpwnam() is not supposed to return in such cases.
As documented, getpwnam_r() etc. will return null and an errno indication, so there is an API to indicate "I don't know". Unfortunately there is no consistent documentation what errnos correspond with "I don't know". And some systems like FreeBSD provide incmomplete documentation. > err = getpwnam_r(name, &pwbuf, pwstore, sizeof(pwstore), &pwd); > #if defined(__FreeBSD__) > if( err == EINVAL ) > err=0; > #endif > if (err != 0) > ... I will not base Postfix development on UNDOCUMENTED return values. That is unmaintainable. I can offer to provide a config option with an errno whitelist for getpwxx_r errno values, so that you can deal with the mess. Wietse