From 10fa27eddb9bbe135277d587c6a2de4b311da6df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C5=BDidek?= Date: Tue, 18 Sep 2018 15:23:54 +0200 Subject: [PATCH 20/83] CONFDB: Skip 'local' domain if not supported When SSSD is built without the support for local domain, we should gracegully skip local domains and let other domains start. Resolves: https://pagure.io/SSSD/sssd/issue/3828 Reviewed-by: Jakub Hrozek --- src/confdb/confdb.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/confdb/confdb.c b/src/confdb/confdb.c index 22068ca..621647e 100644 --- a/src/confdb/confdb.c +++ b/src/confdb/confdb.c @@ -945,8 +945,14 @@ static int confdb_get_domain_internal(struct confdb_ctx *cdb, goto done; } - if (local_provider_is_built() - && strcasecmp(domain->provider, "local") == 0) { + if (strcasecmp(domain->provider, "local") == 0) { + if (!local_provider_is_built()) { + DEBUG(SSSDBG_FATAL_FAILURE, + "ID provider 'local' no longer supported, disabling\n"); + ret = EINVAL; + goto done; + } + /* If this is the local provider, we need to ensure that * no other provider was specified for other types, since * the local provider cannot load them. -- 2.9.5