summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2004-01-14 21:22:30 +0000
committerGerald Carter <jerry@samba.org>2004-01-14 21:22:30 +0000
commit40b7d863dc246ea23ff3d9cdc167f1fb96166e1d (patch)
treecd7ed119fdaa1764167e9224ac3f408619cdc548
parent514561118860f982c458930c34763dac9ce0554e (diff)
downloadsamba-40b7d863dc246ea23ff3d9cdc167f1fb96166e1d.tar.gz
samba-40b7d863dc246ea23ff3d9cdc167f1fb96166e1d.tar.xz
samba-40b7d863dc246ea23ff3d9cdc167f1fb96166e1d.zip
Fix initgroups() call nss_winbind on solaris; patch from John Klinger <john.klinger@lmco.com>
-rw-r--r--source/nsswitch/winbind_nss_solaris.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source/nsswitch/winbind_nss_solaris.c b/source/nsswitch/winbind_nss_solaris.c
index 6671090e6a6..8f03eb4cd6e 100644
--- a/source/nsswitch/winbind_nss_solaris.c
+++ b/source/nsswitch/winbind_nss_solaris.c
@@ -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;
}