summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/winbindd/winbindd_cache.c5
-rw-r--r--source3/winbindd/winbindd_dual.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c
index 4d81ee3960..a8a98e5bc8 100644
--- a/source3/winbindd/winbindd_cache.c
+++ b/source3/winbindd/winbindd_cache.c
@@ -37,6 +37,7 @@ extern bool opt_nocache;
#ifdef HAVE_ADS
extern struct winbindd_methods ads_methods;
#endif
+extern struct winbindd_methods passdb_methods;
/*
* JRA. KEEP THIS LIST UP TO DATE IF YOU ADD CACHE ENTRIES.
@@ -135,6 +136,10 @@ static struct winbind_cache *get_cache(struct winbindd_domain *domain)
/* We have to know what type of domain we are dealing with first. */
+ if (domain->internal) {
+ domain->backend = &passdb_methods;
+ domain->initialized = True;
+ }
if ( !domain->initialized ) {
init_dc_connection( domain );
}
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index 2b756b24d1..3c342e54a4 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -1089,7 +1089,6 @@ static bool fork_domain_child(struct winbindd_child *child)
* but not the main daemon */
if (child->domain && child->domain->internal && IS_DC) {
- child->domain->internal = False;
child->domain->methods = &cache_methods;
child->domain->online = False;
}