than returning NS_UNAVAIL. this means that a -ve uid entry in hesiod
doesn't stop getpwent() in its tracks. it also brings it in line with
how nis_getpw() works as well in this situation.
problem tracked down (with much pain & suffereing) by simonb.
XXX: we currently have no support for -ve uids, and this is painful in
XXX: hetrogenous environment... (this -ve check is enforced in __pwscan())
Currently an invalid entry will cause any subsequent entries to fail
if hostlookups take take several seconds (This can happen with DNS).
Now we can more easily detect this situation.
kill some cruft, and move various flags and structure definitions into
osf1.h (not done yet).
Do a better job of translating fcntl(), and translate flags in sento()
emulation.
and 'install' targets to descend into the domestic subtree. This is
generally a bad idea unless one knows precisely what they're doing,
but we'll provide the rope anyway (with the appropriate warnings).
Document both EXPORTABLE_SYSTEM and FORCE_DOMESTIC at the top of the file.
nsswitch.conf and they contain similar information).
XXX: in the case where the given array is too small and -1 is returned,
the returned ngroups will be too large by a factor of the difference
between the given size and the number of matches. this is not considered
to be a major problem, since it's still going to be a smaller figure than
what the previous (non suppressive) behaviour returned.
source has been exhausted. this allows getgrent() across multiple
sources (e.g, ``group: files nis'') to work correctly. the flags are
reset in setgrent()/endgrent().
(as per similar change in getpwent.c rev 1.42)
XXX: this change means that code that uses getgrent() to obtain a list
of groups will have to do duplicate suppression... getgrouplist()
springs to mind; i'm about to modify that
source has been exhausted. this allows getpwent() across multiple
sources (e.g, ``passwd: files nis'') to work correctly. the flags are
reset in setpassent()/endpwent().
this fixes a bug noted in [lib/7449] by thorpej, and tracked down to
getpwent() as being the culprit by simonb.