summaryrefslogtreecommitdiff
path: root/source3/nsswitch/winbindd_util.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-12-03 01:23:42 +0000
committerAndrew Tridgell <tridge@samba.org>2001-12-03 01:23:42 +0000
commit78169af90a3594a574f0e19cd60f27c870a9bcd2 (patch)
treedf606ccd75f34098c56b50d1d598f8530bd64462 /source3/nsswitch/winbindd_util.c
parent317106452176da6e6ef36bb4189be609e0638a11 (diff)
downloadsamba-78169af90a3594a574f0e19cd60f27c870a9bcd2.tar.gz
samba-78169af90a3594a574f0e19cd60f27c870a9bcd2.tar.bz2
samba-78169af90a3594a574f0e19cd60f27c870a9bcd2.zip
split winbindd_enum_dom_groups into the new backend structure
also created winbindd_rpc.c which contains the functions that have been converted to the new structure. There will soon be a winbindd_ads.c for the ldap backend (This used to be commit e4ccc602ba65838646f2632120069f3274619dd9)
Diffstat (limited to 'source3/nsswitch/winbindd_util.c')
-rw-r--r--source3/nsswitch/winbindd_util.c73
1 files changed, 2 insertions, 71 deletions
diff --git a/source3/nsswitch/winbindd_util.c b/source3/nsswitch/winbindd_util.c
index 41eb8b9d28..258a940225 100644
--- a/source3/nsswitch/winbindd_util.c
+++ b/source3/nsswitch/winbindd_util.c
@@ -42,10 +42,6 @@ static const fstring name_deadbeef = "<deadbeef>";
/* Globals for domain list stuff */
struct winbindd_domain *domain_list = NULL;
-static struct winbindd_methods msrpc_methods = {
- winbindd_query_dispinfo
-};
-
/* Given a domain name, return the struct winbindd domain info for it
if it is actually working. */
@@ -138,6 +134,7 @@ BOOL get_domain_info(void)
fstring level5_dom;
BOOL rv = False;
TALLOC_CTX *mem_ctx;
+ extern struct winbindd_methods msrpc_methods;
DEBUG(1, ("getting trusted domain list\n"));
@@ -163,7 +160,7 @@ BOOL get_domain_info(void)
goto done;
result = cli_lsa_enum_trust_dom(hnd->cli, mem_ctx,
- &hnd->pol, &enum_ctx, &num_doms, &domains, &sids);
+ &hnd->pol, &enum_ctx, &num_doms, &domains, &sids);
if (!NT_STATUS_IS_OK(result))
goto done;
@@ -789,72 +786,6 @@ BOOL winbindd_param_init(void)
return True;
}
-/* Query display info for a domain. This returns enough information plus a
- bit extra to give an overview of domain users for the User Manager
- application. */
-
-NTSTATUS winbindd_query_dispinfo(struct winbindd_domain *domain,
- TALLOC_CTX *mem_ctx,
- uint32 *start_ndx, uint32 *num_entries,
- WINBIND_DISPINFO **info)
-{
- CLI_POLICY_HND *hnd;
- NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
- POLICY_HND dom_pol;
- BOOL got_dom_pol = False;
- uint32 des_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
- SAM_DISPINFO_CTR ctr;
- SAM_DISPINFO_1 info1;
- int i;
-
- /* Get sam handle */
-
- if (!(hnd = cm_get_sam_handle(domain->name)))
- goto done;
-
- /* Get domain handle */
-
- result = cli_samr_open_domain(hnd->cli, mem_ctx, &hnd->pol,
- des_access, &domain->sid, &dom_pol);
-
- if (!NT_STATUS_IS_OK(result))
- goto done;
-
- got_dom_pol = True;
-
- ctr.sam.info1 = &info1;
-
- /* Query display info level 1 */
- result = cli_samr_query_dispinfo(hnd->cli, mem_ctx,
- &dom_pol, start_ndx, 1,
- num_entries, 0xffff, &ctr);
-
- /* now map the result into the WINBIND_DISPINFO structure */
- (*info) = (WINBIND_DISPINFO *)talloc(mem_ctx, (*num_entries)*sizeof(WINBIND_DISPINFO));
- if (!(*info)) {
- return NT_STATUS_NO_MEMORY;
- }
-
- for (i=0;i<*num_entries;i++) {
- (*info)[i].acct_name = unistr2_tdup(mem_ctx, &info1.str[i].uni_acct_name);
- (*info)[i].full_name = unistr2_tdup(mem_ctx, &info1.str[i].uni_full_name);
- (*info)[i].user_rid = info1.sam[i].rid_user;
- /* For the moment we set the primary group for every user to be the
- Domain Users group. There are serious problems with determining
- the actual primary group for large domains. This should really
- be made into a 'winbind force group' smb.conf parameter or
- something like that. */
- (*info)[i].group_rid = DOMAIN_GROUP_RID_USERS;
- }
-
- done:
-
- if (got_dom_pol)
- cli_samr_close(hnd->cli, mem_ctx, &dom_pol);
-
- return result;
-}
-
/* Check if a domain is present in a comma-separated list of domains */
BOOL check_domain_env(char *domain_env, char *domain)