mirror of
https://github.com/samba-team/samba.git
synced 2025-02-04 17:47:26 +03:00
Merge of remove "winbindd holding pattern" from appliance. It's a bit
simpler as the rescanning of trusted domains helps us out a bit.
This commit is contained in:
parent
f087fe546f
commit
089729c02c
@ -714,12 +714,6 @@ BOOL winbind_setup_common(void)
|
|||||||
if (!winbindd_param_init())
|
if (!winbindd_param_init())
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
/* Get list of domains we look up requests for. This includes the
|
|
||||||
domain which we are a member of as well as any trusted
|
|
||||||
domains. */
|
|
||||||
|
|
||||||
init_domain_list();
|
|
||||||
|
|
||||||
/* Winbind daemon initialisation */
|
/* Winbind daemon initialisation */
|
||||||
|
|
||||||
if (!winbindd_idmap_init())
|
if (!winbindd_idmap_init())
|
||||||
|
@ -113,7 +113,11 @@ enum winbindd_result winbindd_list_trusted_domains(struct winbindd_cli_state
|
|||||||
have changed since we last looked. There may be a sequence
|
have changed since we last looked. There may be a sequence
|
||||||
number or something we should use but I haven't found it yet. */
|
number or something we should use but I haven't found it yet. */
|
||||||
|
|
||||||
init_domain_list();
|
if (!init_domain_list()) {
|
||||||
|
DEBUG(1, ("winbindd_list_trusted_domains: could not "
|
||||||
|
"refresh trusted domain list\n"));
|
||||||
|
return WINBINDD_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
for(domain = domain_list(); domain; domain = domain->next) {
|
for(domain = domain_list(); domain; domain = domain->next) {
|
||||||
|
|
||||||
|
@ -202,7 +202,6 @@ void rescan_trusted_domains(void)
|
|||||||
/* Look up global info for the winbind daemon */
|
/* Look up global info for the winbind daemon */
|
||||||
BOOL init_domain_list(void)
|
BOOL init_domain_list(void)
|
||||||
{
|
{
|
||||||
NTSTATUS result;
|
|
||||||
extern struct winbindd_methods cache_methods;
|
extern struct winbindd_methods cache_methods;
|
||||||
struct winbindd_domain *domain;
|
struct winbindd_domain *domain;
|
||||||
|
|
||||||
@ -211,27 +210,12 @@ BOOL init_domain_list(void)
|
|||||||
|
|
||||||
/* Add ourselves as the first entry */
|
/* Add ourselves as the first entry */
|
||||||
domain = add_trusted_domain(lp_workgroup(), NULL, &cache_methods, NULL);
|
domain = add_trusted_domain(lp_workgroup(), NULL, &cache_methods, NULL);
|
||||||
|
if (!secrets_fetch_domain_sid(domain->name, &domain->sid)) {
|
||||||
/*
|
DEBUG(1, ("Could not fetch sid for our domain %s\n",
|
||||||
* Now we *must* get the domain sid for our primary domain. Go into
|
domain->name));
|
||||||
* a holding pattern until that is available
|
return False;
|
||||||
*/
|
|
||||||
|
|
||||||
result = cache_methods.domain_sid(domain, &domain->sid);
|
|
||||||
while (!NT_STATUS_IS_OK(result)) {
|
|
||||||
|
|
||||||
sleep(10);
|
|
||||||
DEBUG(1,("Retrying startup domain sid fetch for %s\n",
|
|
||||||
domain->name));
|
|
||||||
result = cache_methods.domain_sid(domain, &domain->sid);
|
|
||||||
|
|
||||||
/* If we don't call lp_talloc_free() here we end up
|
|
||||||
accumulating memory in the "global" lp_talloc in
|
|
||||||
param/loadparm.c */
|
|
||||||
|
|
||||||
lp_talloc_free();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get any alternate name for the primary domain */
|
/* get any alternate name for the primary domain */
|
||||||
cache_methods.alternate_name(domain);
|
cache_methods.alternate_name(domain);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user