dpward / rpms / sssd

Forked from rpms/sssd 3 years ago
Clone

Blame SOURCES/0021-CONFDB-Skip-local-domain-if-not-supported.patch

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