]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add finer grained control for initgroups lookups to NSS.
authorUlrich Drepper <drepper@gmail.com>
Fri, 29 Apr 2011 15:16:30 +0000 (11:16 -0400)
committerUlrich Drepper <drepper@gmail.com>
Fri, 29 Apr 2011 15:16:30 +0000 (11:16 -0400)
ChangeLog
grp/initgroups.c
nss/nsswitch.conf

index 2b02e1af70cd0ffc6f1d901ee86d2b9f001c55db..92a34c04060a72cd941534990d3991bab771359f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-29  Ulrich Drepper  <drepper@gmail.com>
+
+       * grp/initgroups.c (internal_getgrouplist): Prefer initgroups setting
+       to groups setting in database lookup.
+       * nss/nsswitch.conf: Add initgroups entry.
+
 2011-04-22  Ulrich Drepper  <drepper@gmail.com>
 
        [BZ #12685]
index 180e653c30e6ee19f8124e3093367a93367042cd..25acf2a249a8ca8b88e11909d871b18a1a704ac7 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1989,91,93,1996-2006,2008,2010 Free Software Foundation, Inc.
+/* Copyright (C) 1989,1991,1993,1996-2006,2008,2010,2011
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -85,7 +86,7 @@ internal_getgrouplist (const char *user, gid_t group, long int *size,
       nip = __nss_group_database;
     }
   else
-    no_more = __nss_database_lookup ("group", NULL,
+    no_more = __nss_database_lookup ("initgroups", "group",
                                     "compat [NOTFOUND=return] files", &nip);
 
   while (! no_more)
index 4d2a76376db439b08877f38c4594110f22dbe517..73736a61ae9cf0f6a51094554a2b926fcb4fed6f 100644 (file)
@@ -5,6 +5,7 @@
 
 passwd:                db files
 group:         db files
+initgroups:    db files
 shadow:                db files
 gshadow:       files