diff options
Diffstat (limited to 'source3/nsswitch/winbindd_util.c')
-rw-r--r-- | source3/nsswitch/winbindd_util.c | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/source3/nsswitch/winbindd_util.c b/source3/nsswitch/winbindd_util.c index 3671c88e2b..7a5fa3be20 100644 --- a/source3/nsswitch/winbindd_util.c +++ b/source3/nsswitch/winbindd_util.c @@ -199,7 +199,6 @@ void rescan_trusted_domains(void) /* Look up global info for the winbind daemon */ BOOL init_domain_list(void) { - NTSTATUS result; extern struct winbindd_methods cache_methods; struct winbindd_domain *domain; @@ -208,27 +207,12 @@ BOOL init_domain_list(void) /* Add ourselves as the first entry */ domain = add_trusted_domain(lp_workgroup(), NULL, &cache_methods, NULL); - - /* - * Now we *must* get the domain sid for our primary domain. Go into - * a holding pattern until that is available - */ - - 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(); + if (!secrets_fetch_domain_sid(domain->name, &domain->sid)) { + DEBUG(1, ("Could not fetch sid for our domain %s\n", + domain->name)); + return False; } - + /* get any alternate name for the primary domain */ cache_methods.alternate_name(domain); |