From: Volker Lendecke Date: Sun, 6 Aug 2017 16:11:02 +0000 (+0200) Subject: winbindd: Factor out winbindd_domain_init_backend from get_cache() X-Git-Tag: talloc-2.1.11~321 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=650f29e2f35bdfa5f96cf13462528e933e8ecf35;p=thirdparty%2Fsamba.git winbindd: Factor out winbindd_domain_init_backend from get_cache() Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index fbf4451fc33..76b79a3e18a 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -121,12 +121,11 @@ static char *wcache_path(void) return state_path("winbindd_cache.tdb"); } -/* get the winbind_cache structure */ -static struct winbind_cache *get_cache(struct winbindd_domain *domain) +static void winbindd_domain_init_backend(struct winbindd_domain *domain) { - struct winbind_cache *ret = wcache; - - /* We have to know what type of domain we are dealing with first. */ + if (domain->backend != NULL) { + return; + } if (domain->internal) { domain->backend = &builtin_passdb_methods; @@ -173,6 +172,14 @@ static struct winbind_cache *get_cache(struct winbindd_domain *domain) DBG_INFO("Setting MS-RPC methods for domain %s\n", domain->name); domain->backend = &reconnect_methods; } +} + +/* get the winbind_cache structure */ +static struct winbind_cache *get_cache(struct winbindd_domain *domain) +{ + struct winbind_cache *ret = wcache; + + winbindd_domain_init_backend(domain); if (ret != NULL) { return ret;