2004-07-27  Ulrich Drepper  <drepper@redhat.com>

	* nscd/grpcache.c (cache_addgr): If necessary, add entry also
	under the name the user provided.
	* nscd/pwdcache.c (cache_addpw): Likewise.
This commit is contained in:
Ulrich Drepper 2004-07-27 22:52:49 +00:00
parent a29015c344
commit dc630ccc08
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2004-07-27 Ulrich Drepper <drepper@redhat.com>
* nscd/grpcache.c (cache_addgr): If necessary, add entry also
under the name the user provided.
* nscd/pwdcache.c (cache_addpw): Likewise.
2004-07-26 Roland McGrath <roland@redhat.com>
* sysdeps/posix/waitid.c [WEXITED]: Clear WEXITED bit in OPTIONS for

View File

@ -75,7 +75,7 @@ struct groupdata
static void
cache_addgr (struct database *db, int fd, request_header *req, void *key,
struct group *grp, uid_t owner)
struct group *grp, uid_t owner, int type)
{
ssize_t total;
ssize_t written;
@ -179,6 +179,11 @@ cache_addgr (struct database *db, int fd, request_header *req, void *key,
cache_add (GETGRBYNAME, gr_name, gr_name_len, data,
total, data, 0, t, db, owner);
/* If the key is different from the name add a separate entry. */
if (type == GETGRBYNAME && strcmp (key, gr_name) != 0)
cache_add (GETGRBYNAME, key, strlen (key) + 1, data,
total, data, 0, t, db, owner);
cache_add (GETGRBYGID, cp, n, data, total, data, 1, t, db, owner);
pthread_rwlock_unlock (&db->lock);
@ -248,7 +253,7 @@ addgrbyname (struct database *db, int fd, request_header *req,
if (secure[grpdb])
seteuid (oldeuid);
cache_addgr (db, fd, req, key, grp, uid);
cache_addgr (db, fd, req, key, grp, uid, GETGRBYNAME);
if (use_malloc)
free (buffer);
@ -320,7 +325,7 @@ addgrbygid (struct database *db, int fd, request_header *req,
if (secure[grpdb])
seteuid (oldeuid);
cache_addgr (db, fd, req, key, grp, uid);
cache_addgr (db, fd, req, key, grp, uid, GETGRBYGID);
if (use_malloc)
free (buffer);