summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_ads.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-09-17 07:59:25 +0200
committerGünther Deschner <gd@samba.org>2009-09-17 08:54:19 +0200
commitf0b52b8c3133e3696db361d9d0e7d1fff0fab991 (patch)
tree6ae0cd4b6c47f47d06fb9c2245e3ad78eaca02f8 /source3/winbindd/winbindd_ads.c
parentc7083386827d761d7276c2440812b00d026bf3e1 (diff)
downloadsamba-f0b52b8c3133e3696db361d9d0e7d1fff0fab991.tar.gz
samba-f0b52b8c3133e3696db361d9d0e7d1fff0fab991.tar.bz2
samba-f0b52b8c3133e3696db361d9d0e7d1fff0fab991.zip
s3-winbindd: add and use winbindd_lookup_sids().
Guenther
Diffstat (limited to 'source3/winbindd/winbindd_ads.c')
-rw-r--r--source3/winbindd/winbindd_ads.c64
1 files changed, 14 insertions, 50 deletions
diff --git a/source3/winbindd/winbindd_ads.c b/source3/winbindd/winbindd_ads.c
index 450d2ee3e5..119e81d3e2 100644
--- a/source3/winbindd/winbindd_ads.c
+++ b/source3/winbindd/winbindd_ads.c
@@ -983,8 +983,6 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
int i;
size_t num_members = 0;
ads_control args;
- struct rpc_pipe_client *cli;
- struct policy_handle lsa_policy;
DOM_SID *sid_mem_nocache = NULL;
char **names_nocache = NULL;
enum lsa_SidType *name_types_nocache = NULL;
@@ -1126,31 +1124,14 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
/* handle sids not resolved from cache by lsa_lookup_sids */
if (num_nocache > 0) {
- unsigned int orig_timeout;
- status = cm_connect_lsa(domain, tmp_ctx, &cli, &lsa_policy);
-
- if (!NT_STATUS_IS_OK(status)) {
- goto done;
- }
-
- /*
- * This call can take a long time
- * allow the server to time out.
- * 35 seconds should do it.
- */
- orig_timeout = rpccli_set_timeout(cli, 35000);
-
- status = rpccli_lsa_lookup_sids(cli, tmp_ctx,
- &lsa_policy,
- num_nocache,
- sid_mem_nocache,
- &domains_nocache,
- &names_nocache,
- &name_types_nocache);
-
- /* And restore our original timeout. */
- rpccli_set_timeout(cli, orig_timeout);
+ status = winbindd_lookup_sids(tmp_ctx,
+ domain,
+ num_nocache,
+ sid_mem_nocache,
+ &domains_nocache,
+ &names_nocache,
+ &name_types_nocache);
if (!(NT_STATUS_IS_OK(status) ||
NT_STATUS_EQUAL(status, STATUS_SOME_UNMAPPED) ||
@@ -1159,30 +1140,13 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
DEBUG(1, ("lsa_lookupsids call failed with %s "
"- retrying...\n", nt_errstr(status)));
- status = cm_connect_lsa(domain, tmp_ctx, &cli,
- &lsa_policy);
-
- if (!NT_STATUS_IS_OK(status)) {
- goto done;
- }
-
- /*
- * This call can take a long time
- * allow the server to time out.
- * 35 seconds should do it.
- */
- orig_timeout = rpccli_set_timeout(cli, 35000);
-
- status = rpccli_lsa_lookup_sids(cli, tmp_ctx,
- &lsa_policy,
- num_nocache,
- sid_mem_nocache,
- &domains_nocache,
- &names_nocache,
- &name_types_nocache);
-
- /* And restore our original timeout. */
- rpccli_set_timeout(cli, orig_timeout);
+ status = winbindd_lookup_sids(tmp_ctx,
+ domain,
+ num_nocache,
+ sid_mem_nocache,
+ &domains_nocache,
+ &names_nocache,
+ &name_types_nocache);
}
if (NT_STATUS_IS_OK(status) ||