The previous commit changed the behavior of nsdispatch() in the

case where an /etc/nsswitch.conf file was present, but could not
be opened (e.g. due to permissions).  Previously, the open failure
condition was suppressed, and the built-in defaults were used.  In
revision 1.11, however, propagated the open failure causing all
nsdispatch() invocations to return NS_UNAVAIL, and thus many APIs
including getpwnam and gethostbyname unconditionally failed.

This commit restores the previous behavior.

Pointy hat:	nectar  (+1 for obstinance; ache had to use clue bat)
Reported by:	ache
This commit is contained in:
nectar 2004-04-01 19:12:45 +00:00
parent d03618b7cd
commit ebdf5cfddd

View File

@ -343,10 +343,8 @@ nss_configure(void)
goto fin2;
}
_nsyyin = fopen(path, "r");
if (_nsyyin == NULL) {
result = errno;
if (_nsyyin == NULL)
goto fin;
}
VECTOR_FREE(_nsmap, &_nsmapsize, sizeof(*_nsmap),
(vector_free_elem)ns_dbt_free);
VECTOR_FREE(_nsmod, &_nsmodsize, sizeof(*_nsmod),