summaryrefslogtreecommitdiff
path: root/source3/winbindd
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-02-06 16:19:20 +0100
committerGünther Deschner <gd@samba.org>2008-02-07 14:25:18 +0100
commit1c788bc36561842d08c3f62b5d3145dbe74db620 (patch)
tree4614b83777642886d54f4dc96ac6d45d19051f2d /source3/winbindd
parentcce7e93d842833e7f44254d80de59cc35e8f2af7 (diff)
downloadsamba-1c788bc36561842d08c3f62b5d3145dbe74db620.tar.gz
samba-1c788bc36561842d08c3f62b5d3145dbe74db620.tar.bz2
samba-1c788bc36561842d08c3f62b5d3145dbe74db620.zip
Use rpccli_samr_GetGroupsForUser() all over the place.
Guenther (This used to be commit d1c669920e88e7fecd13101c4ddfe45354c5ecdb)
Diffstat (limited to 'source3/winbindd')
-rw-r--r--source3/winbindd/winbindd_rpc.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/source3/winbindd/winbindd_rpc.c b/source3/winbindd/winbindd_rpc.c
index 98e4077a4d..8e196e50ec 100644
--- a/source3/winbindd/winbindd_rpc.c
+++ b/source3/winbindd/winbindd_rpc.c
@@ -510,7 +510,7 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
POLICY_HND dom_pol, user_pol;
uint32 des_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
- DOM_GID *user_groups;
+ struct samr_RidWithAttributeArray *rid_array = NULL;
unsigned int i;
uint32 user_rid;
struct rpc_pipe_client *cli;
@@ -557,8 +557,10 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
return result;
/* Query user rids */
- result = rpccli_samr_query_usergroups(cli, mem_ctx, &user_pol,
- num_groups, &user_groups);
+ result = rpccli_samr_GetGroupsForUser(cli, mem_ctx,
+ &user_pol,
+ &rid_array);
+ *num_groups = rid_array->count;
rpccli_samr_Close(cli, mem_ctx, &user_pol);
@@ -572,9 +574,9 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
for (i=0;i<(*num_groups);i++) {
sid_copy(&((*user_grpsids)[i]), &domain->sid);
sid_append_rid(&((*user_grpsids)[i]),
- user_groups[i].g_rid);
+ rid_array->rids[i].rid);
}
-
+
return NT_STATUS_OK;
}