summaryrefslogtreecommitdiffstats
path: root/source/nsswitch/winbindd_group.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-12-04 06:46:53 +0000
committerAndrew Tridgell <tridge@samba.org>2001-12-04 06:46:53 +0000
commit689f45d2079d06b09947b2cdd314867df98c938d (patch)
treec0e24f2f7bd10945ef580d15d9f141ae58ea0808 /source/nsswitch/winbindd_group.c
parente908f304a26b9f1100e301610151a9334bf117b0 (diff)
downloadsamba-689f45d2079d06b09947b2cdd314867df98c938d.tar.gz
samba-689f45d2079d06b09947b2cdd314867df98c938d.tar.xz
samba-689f45d2079d06b09947b2cdd314867df98c938d.zip
moved lookup_usergroups() into the backend structure
Diffstat (limited to 'source/nsswitch/winbindd_group.c')
-rw-r--r--source/nsswitch/winbindd_group.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/source/nsswitch/winbindd_group.c b/source/nsswitch/winbindd_group.c
index 07f30f0acc3..9d29fee67c6 100644
--- a/source/nsswitch/winbindd_group.c
+++ b/source/nsswitch/winbindd_group.c
@@ -918,7 +918,8 @@ enum winbindd_result winbindd_getgroups(struct winbindd_cli_state *state)
DOM_SID user_sid;
enum SID_NAME_USE name_type;
uint32 user_rid, num_groups, num_gids;
- DOM_GID *user_groups = NULL;
+ NTSTATUS status;
+ uint32 *user_gids;
struct winbindd_domain *domain;
enum winbindd_result result = WINBINDD_ERROR;
gid_t *gid_list;
@@ -967,9 +968,8 @@ enum winbindd_result winbindd_getgroups(struct winbindd_cli_state *state)
sid_split_rid(&user_sid, &user_rid);
- if (!winbindd_lookup_usergroups(domain, mem_ctx, user_rid,
- &num_groups, &user_groups))
- goto done;
+ status = domain->methods->lookup_usergroups(domain, mem_ctx, user_rid, &num_groups, &user_gids);
+ if (!NT_STATUS_IS_OK(status)) goto done;
/* Copy data back to client */
@@ -980,12 +980,8 @@ enum winbindd_result winbindd_getgroups(struct winbindd_cli_state *state)
goto done;
for (i = 0; i < num_groups; i++) {
- if (!winbindd_idmap_get_gid_from_rid(
- domain->name, user_groups[i].g_rid,
- &gid_list[num_gids])) {
-
- DEBUG(1, ("unable to convert group rid %d to gid\n",
- user_groups[i].g_rid));
+ if (!winbindd_idmap_get_gid_from_rid(domain->name, user_gids[i], &gid_list[num_gids])) {
+ DEBUG(1, ("unable to convert group rid %d to gid\n", user_gids[i]));
continue;
}