Fix initgroups() call nss_winbind on solaris; patch from John Klinger <john.klinger...
authorGerald Carter <jerry@samba.org>
Wed, 14 Jan 2004 21:22:30 +0000 (21:22 +0000)
committerGerald Carter <jerry@samba.org>
Wed, 14 Jan 2004 21:22:30 +0000 (21:22 +0000)
source/nsswitch/winbind_nss_solaris.c

index 6671090e6a6635939cb9c74db63762f984e10c86..8f03eb4cd6ea101b5384e0745dbe0e209b91057d 100644 (file)
@@ -256,7 +256,23 @@ _nss_winbind_getgrgid_solwrap(nss_backend_t* be, void* args)
 static NSS_STATUS
 _nss_winbind_getgroupsbymember_solwrap(nss_backend_t* be, void* args)
 {
+       int errnop;
+       struct nss_groupsbymem *gmem = (struct nss_groupsbymem *)args;
+
        NSS_DEBUG("_nss_winbind_getgroupsbymember");
+
+       _nss_winbind_initgroups_dyn(gmem->username,
+               gmem->gid_array[0], /* Primary Group */
+               &gmem->numgids,
+               &gmem->maxgids,
+               &gmem->gid_array,
+               gmem->maxgids,
+               &errnop);
+
+       /*
+       * Always return NOTFOUND so nsswitch will get info from all
+       * the database backends specified in the nsswitch.conf file.
+       */
        return NSS_STATUS_NOTFOUND;
 }