diff options
Diffstat (limited to 'source3/winbindd/winbindd_cache.c')
-rw-r--r-- | source3/winbindd/winbindd_cache.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index 1bfbdb6699..a3e202bc7e 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -41,6 +41,7 @@ extern struct winbindd_methods reconnect_methods; extern struct winbindd_methods ads_methods; #endif extern struct winbindd_methods builtin_passdb_methods; +extern struct winbindd_methods sam_passdb_methods; /* * JRA. KEEP THIS LIST UP TO DATE IF YOU ADD CACHE ENTRIES. @@ -143,6 +144,13 @@ static struct winbind_cache *get_cache(struct winbindd_domain *domain) domain->backend = &builtin_passdb_methods; domain->initialized = True; } + + if (strequal(domain->name, get_global_sam_name()) && + sid_equal(&domain->sid, get_global_sam_sid())) { + domain->backend = &sam_passdb_methods; + domain->initialized = True; + } + if ( !domain->initialized ) { init_dc_connection( domain ); } |