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