diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-08-18 23:27:30 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-08-18 23:27:30 +0000 |
commit | 0c6cee5d656d933100b86b7d58803bdbd549e456 (patch) | |
tree | 9fe94f38351584e600d19b26893b957fabf37715 /nis/nss_compat/compat-spwd.c | |
parent | eedbbe588f893e8bd93e65617d3fd98e172a3569 (diff) | |
download | glibc-0c6cee5d656d933100b86b7d58803bdbd549e456.tar.gz glibc-0c6cee5d656d933100b86b7d58803bdbd549e456.tar.xz glibc-0c6cee5d656d933100b86b7d58803bdbd549e456.zip |
Update.
1998-08-18 Ulrich Drepper <drepper@cygnus.com> * include/features.h: Define __USE_EXTERN_INLINES for recent enough gcc. * argp/argp.h: Define extern inline functions only if __USE_EXTERN_INLINES is defined. * libio/stdio.h: Likewise. * math/math.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * sysdeps/generic/bits/sigset.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigset.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigset.h: Likewise. * sysdeps/wordsize-32/inttypes.h: Likewise. * sysdeps/wordsize-64/inttypes.h: Likewise. * wcsmbs/wchar.h: Likewise. * sysdeps/generic/bits/glob.c [_LIBC]: Define __stat using __xstat to allow compilation without optimization. 1998-08-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no more entries. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_compat/compat-pwd.c: Likewise. * nis/nss_compat/compat-spwd.c: Likewise. * nis/nss_nis/nis-alias.c: Likewise. * nis/nss_nis/nis-ethers.c: Likewise. * nis/nss_nis/nis-grp.c: Likewise. * nis/nss_nis/nis-hosts.c: Likewise. * nis/nss_nis/nis-initgroups.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * nis/nss_nis/nis-proto.c: Likewise. * nis/nss_nis/nis-pwd.c: Likewise. * nis/nss_nis/nis-rpc.c: Likewise. * nis/nss_nis/nis-service.c: Likewise. * nis/nss_nis/nis-spwd.c: Likewise. * nis/rpcsvc/yp.h: Generate new without 1024 byte limits. * nis/ypclnt.c: Try binding dir only first time, could be to old. * nis/yp_xdr.c: Remove 1024 byte limit. * nis/ypupdate_xdr.c: Likewise. * nis/nss_nis/nis-publickey.c: Make sure, nobody could send wrong data.
Diffstat (limited to 'nis/nss_compat/compat-spwd.c')
-rw-r--r-- | nis/nss_compat/compat-spwd.c | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/nis/nss_compat/compat-spwd.c b/nis/nss_compat/compat-spwd.c index 1d4216393a..cf117fa964 100644 --- a/nis/nss_compat/compat-spwd.c +++ b/nis/nss_compat/compat-spwd.c @@ -631,6 +631,7 @@ getspent_next_nis (struct spwd *result, ent_t *ent, { ent->nis = 0; give_spwd_free (&ent->pwd); + *errnop = ENOENT; return NSS_STATUS_NOTFOUND; } @@ -736,12 +737,16 @@ getspnam_plususer (const char *name, struct spwd *result, char *buffer, int outvallen; if (yp_get_default_domain (&domain) != YPERR_SUCCESS) - return NSS_STATUS_NOTFOUND; - + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (yp_match (domain, "shadow.byname", name, strlen (name), &outval, &outvallen) != YPERR_SUCCESS) - return NSS_STATUS_NOTFOUND; - + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (buflen < ((size_t) outvallen + 1)) { free (outval); @@ -791,7 +796,10 @@ getspent_next_file (struct spwd *result, ent_t *ent, buffer[buflen - 1] = '\xff'; p = fgets (buffer, buflen, ent->stream); if (p == NULL && feof (ent->stream)) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (p == NULL || buffer[buflen - 1] != '\xff') { fsetpos (ent->stream, &pos); @@ -999,7 +1007,10 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent, buffer[buflen - 1] = '\xff'; p = fgets (buffer, buflen, ent->stream); if (p == NULL && feof (ent->stream)) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (p == NULL || buffer[buflen - 1] != '\xff') { fsetpos (ent->stream, &pos); @@ -1050,7 +1061,10 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent, { if (user != NULL && user[0] != '-') if (strcmp (user, name) == 0) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } } __internal_endnetgrent (&netgrdata); continue; |