diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-03-06 11:39:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-03-06 11:39:36 +0000 |
commit | ac16e90592f0b9842e193e2ebe0b3756f0b4361d (patch) | |
tree | 0b993b3126a76f47b80cf7254916627be7b55a67 /nscd | |
parent | a788b6c2163aa8b7c526a61542d01b7cbbc8859e (diff) | |
download | glibc-ac16e90592f0b9842e193e2ebe0b3756f0b4361d.zip glibc-ac16e90592f0b9842e193e2ebe0b3756f0b4361d.tar.gz glibc-ac16e90592f0b9842e193e2ebe0b3756f0b4361d.tar.bz2 |
Update.
1998-03-06 11:35 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp-test.c: Change testsuite so that it can run even
for ~root != /root.
1998-03-06 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (catanh_test): Change epsilon for gcc 2.8.1.
1998-03-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
Don't store into global errno if we already store through
__errno_location.
* sysdeps/unix/i386/sysdep.S: Likewise.
* sysdeps/unix/alpha/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. Add
missing return to SYSCALL_ERROR_HANDLER for (!_LIBC_REENTRANT &&
PIC).
1998-03-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/sysdep.h (L): Remove definition.
* sysdeps/i386/sysdep.h (L): Define it here instead.
1998-03-05 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nss/getXXbyYY_r.c: Check __nss_not_use_nscd_* variable for
running nscd.
* nscd/nscd_getgr_r.c: Set __nss_not_use_nscd_group variable.
* nscd/nscd_getpw_r.c: Set __nss_not_use_nscd_passwd variable.
* nscd/nscd_proto.h: Declare __nss_not_use_nscd_* variables.
Diffstat (limited to 'nscd')
-rw-r--r-- | nscd/grpcache.c | 4 | ||||
-rw-r--r-- | nscd/nscd_getgr_r.c | 11 | ||||
-rw-r--r-- | nscd/nscd_getpw_r.c | 11 | ||||
-rw-r--r-- | nscd/nscd_proto.h | 4 |
4 files changed, 24 insertions, 6 deletions
diff --git a/nscd/grpcache.c b/nscd/grpcache.c index 2b837f8..3f3f4ba 100644 --- a/nscd/grpcache.c +++ b/nscd/grpcache.c @@ -407,7 +407,7 @@ cache_getgrgid (void *v_param) if (grp != NULL) { if (debug_flag) - dbg_log (_("Found \"%d\" in cache !\n"), gid); + dbg_log (_("Found \"%d\" in cache !"), gid); ++poshit; gr_send_answer (param->conn, grp); @@ -422,7 +422,7 @@ cache_getgrgid (void *v_param) int status; if (debug_flag) - dbg_log (_("Doesn't found \"%d\" in cache !\n"), gid); + dbg_log (_("Doesn't found \"%d\" in cache !"), gid); pthread_rwlock_unlock (&grplock); diff --git a/nscd/nscd_getgr_r.c b/nscd/nscd_getgr_r.c index 8129d81..27d05e0 100644 --- a/nscd/nscd_getgr_r.c +++ b/nscd/nscd_getgr_r.c @@ -29,6 +29,8 @@ #include "nscd.h" #include "nscd_proto.h" +int __nss_not_use_nscd_group; + static int __nscd_getgr_r (const char *key, request_type type, struct group *resultbuf, char *buffer, size_t buflen); @@ -98,8 +100,11 @@ __nscd_getgr_r (const char *key, request_type type, struct group *resultbuf, ssize_t nbytes; if (sock == -1) - /* Returning two signals that contacting the daemon failed. */ - return 2; + { + /* Returning two signals that contacting the daemon failed. */ + __nss_not_use_nscd_group = 1; + return 1; + } req.version = NSCD_VERSION; req.type = type; @@ -127,7 +132,9 @@ __nscd_getgr_r (const char *key, request_type type, struct group *resultbuf, if (gr_resp.found == -1) { + /* The daemon does not cache this database. */ close (sock); + __nss_not_use_nscd_group = 1; return 1; } diff --git a/nscd/nscd_getpw_r.c b/nscd/nscd_getpw_r.c index 4420b80..d9401ed 100644 --- a/nscd/nscd_getpw_r.c +++ b/nscd/nscd_getpw_r.c @@ -29,6 +29,8 @@ #include "nscd.h" +int __nss_not_use_nscd_passwd; + static int __nscd_getpw_r (const char *key, request_type type, struct passwd *resultbuf, char *buffer, size_t buflen); @@ -98,8 +100,11 @@ __nscd_getpw_r (const char *key, request_type type, struct passwd *resultbuf, ssize_t nbytes; if (sock == -1) - /* Returning two signals that contacting the daemon failed. */ - return 2; + { + /* Returning two signals that contacting the daemon failed. */ + __nss_not_use_nscd_passwd = 1; + return 1; + } req.version = NSCD_VERSION; req.type = type; @@ -127,7 +132,9 @@ __nscd_getpw_r (const char *key, request_type type, struct passwd *resultbuf, if (pw_resp.found == -1) { + /* The daemon does not cache this database. */ close (sock); + __nss_not_use_nscd_passwd = 1; return 1; } diff --git a/nscd/nscd_proto.h b/nscd/nscd_proto.h index 6f7b30d..f82f86c 100644 --- a/nscd/nscd_proto.h +++ b/nscd/nscd_proto.h @@ -23,6 +23,10 @@ #include <grp.h> #include <pwd.h> +/* Variables for communication between NSCD handler functions and NSS. */ +extern int __nss_not_use_nscd_passwd; +extern int __nss_not_use_nscd_group; + extern int __nscd_getpwnam_r __P ((const char *name, struct passwd *resultbuf, char *buffer, size_t buflen)); extern int __nscd_getpwuid_r __P ((uid_t uid, struct passwd *resultbuf, |