URL: https://github.com/SSSD/sssd/pull/255
Author: lslebodn
 Title: #255: Use default configuration with missing sssd.conf
Action: opened

PR body:
"""
https://pagure.io/SSSD/sssd/issue/3339
"""

To pull the PR as Git branch:
git remote add ghsssd https://github.com/SSSD/sssd
git fetch ghsssd pull/255/head:pr255
git checkout pr255
From 51de490f0bb2a6709070ba862c0e8ae75eb27c6b Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <[email protected]>
Date: Sat, 29 Apr 2017 19:11:31 +0200
Subject: [PATCH 1/3] CONFDB: Use default configuration with missing sssd.conf

Resolves:
https://pagure.io/SSSD/sssd/issue/3339
---
 src/confdb/confdb_setup.c        | 5 +----
 src/tools/sssctl/sssctl_config.c | 5 +++--
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/confdb/confdb_setup.c b/src/confdb/confdb_setup.c
index 7884eea..ed08f0e 100644
--- a/src/confdb/confdb_setup.c
+++ b/src/confdb/confdb_setup.c
@@ -34,6 +34,7 @@
 "version: 2\n\n" \
 "dn: cn=sssd,cn=config\n" \
 "cn: sssd\n" \
+"enable_files_domain: true\n" \
 "services: nss\n\n"
 #endif /* SSSD_FALLBACK_CONFIG_LDIF */
 
@@ -239,9 +240,6 @@ static int confdb_fallback_ldif(TALLOC_CTX *mem_ctx,
                                 const char **_timestr,
                                 const char **_ldif)
 {
-#ifndef ADD_FILES_DOMAIN
-    return ERR_MISSING_CONF;
-#else
     *_timestr = talloc_strdup(mem_ctx, "1");
     *_ldif = talloc_strdup(mem_ctx, SSSD_FALLBACK_CONFIG_LDIF);
     if (*_timestr == NULL || *_ldif == NULL) {
@@ -249,7 +247,6 @@ static int confdb_fallback_ldif(TALLOC_CTX *mem_ctx,
     }
 
     return EOK;
-#endif
 }
 
 static int confdb_init_db(const char *config_file, const char *config_dir,
diff --git a/src/tools/sssctl/sssctl_config.c b/src/tools/sssctl/sssctl_config.c
index 7e3ebf5..ff38219 100644
--- a/src/tools/sssctl/sssctl_config.c
+++ b/src/tools/sssctl/sssctl_config.c
@@ -64,8 +64,9 @@ errno_t sssctl_config_check(struct sss_cmdline *cmdline,
     /* Open config file */
     ret = sss_ini_config_file_open(init_data, SSSD_CONFIG_FILE);
     if (ret == ENOENT) {
-        ERROR("File %1$s does not exist.\n", SSSD_CONFIG_FILE);
-        goto done;
+        PRINT("File %1$s does not exist. SSSD will use default "
+              "configuration with files provider.\n", SSSD_CONFIG_FILE);
+        ret = EOK;
     } else if (ret != EOK) {
         DEBUG(SSSDBG_TRACE_FUNC,
               "sss_ini_config_file_open failed: %s [%d]\n",

From cf4b960e7cfcf07f1a224164d8250aaf5b39f7ef Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <[email protected]>
Date: Sat, 29 Apr 2017 19:14:19 +0200
Subject: [PATCH 2/3] UTIL: Drop unused error code ERR_MISSING_CONF

---
 src/monitor/monitor.c  | 6 ------
 src/util/util_errors.c | 1 -
 src/util/util_errors.h | 1 -
 3 files changed, 8 deletions(-)

diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 2753b46..43afdb9 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -2650,12 +2650,6 @@ int main(int argc, const char *argv[])
                              &monitor);
     if (ret != EOK) {
         switch (ret) {
-        case ERR_MISSING_CONF:
-            DEBUG(SSSDBG_CRIT_FAILURE,
-                  "Configuration file: %s does not exist.\n", config_file);
-            sss_log(SSS_LOG_ALERT,
-                    "Configuration file: %s does not exist.\n", config_file);
-            break;
         case EPERM:
         case EACCES:
             DEBUG(SSSDBG_CRIT_FAILURE,
diff --git a/src/util/util_errors.c b/src/util/util_errors.c
index 97eaf16..5a92a2d 100644
--- a/src/util/util_errors.c
+++ b/src/util/util_errors.c
@@ -62,7 +62,6 @@ struct err_string error_to_str[] = {
     { "Cannot parse input" }, /* ERR_INPUT_PARSE */
     { "Entry not found" }, /* ERR_NOT_FOUND */
     { "Domain not found" }, /* ERR_DOMAIN_NOT_FOUND */
-    { "Missing configuration file" }, /* ERR_MISSING_CONF */
     { "Malformed search filter" }, /* ERR_INVALID_FILTER, */
     { "No POSIX attributes detected" }, /* ERR_NO_POSIX */
     { "Extra attribute is a duplicate" }, /* ERR_DUP_EXTRA_ATTR */
diff --git a/src/util/util_errors.h b/src/util/util_errors.h
index 4a250bf..509ccb8 100644
--- a/src/util/util_errors.h
+++ b/src/util/util_errors.h
@@ -84,7 +84,6 @@ enum sssd_errors {
     ERR_INPUT_PARSE,
     ERR_NOT_FOUND,
     ERR_DOMAIN_NOT_FOUND,
-    ERR_MISSING_CONF,
     ERR_INVALID_FILTER,
     ERR_NO_POSIX,
     ERR_DUP_EXTRA_ATTR,

From c07ed8ee53a906ab40d63e318d9caf61b0e39ce6 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <[email protected]>
Date: Sat, 29 Apr 2017 19:15:40 +0200
Subject: [PATCH 3/3] INTG: Do not use configure time option
 enable-files-domain

The implicit_files was started with each test even though was not
required.
---
 Makefile.am                           | 1 -
 src/tests/intg/test_files_provider.py | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index c947e31..c21adfd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3510,7 +3510,6 @@ intgcheck-prepare:
 	    --with-ldb-lib-dir="$$prefix"/lib/ldb \
 	    --enable-intgcheck-reqs \
 	    --without-semanage \
-	    --enable-files-domain \
 	    $(INTGCHECK_CONFIGURE_FLAGS) \
 	    CFLAGS="$$CFLAGS -DKCM_PEER_UID=$$(id -u)"; \
 	$(MAKE) $(AM_MAKEFLAGS) ; \
diff --git a/src/tests/intg/test_files_provider.py b/src/tests/intg/test_files_provider.py
index eced399..8f00922 100644
--- a/src/tests/intg/test_files_provider.py
+++ b/src/tests/intg/test_files_provider.py
@@ -130,6 +130,7 @@ def no_sssd_domain(request):
     conf = unindent("""\
         [sssd]
         services            = nss
+        enable_files_domain = true
     """).format(**locals())
     create_conf_fixture(request, conf)
     create_sssd_fixture(request)
@@ -142,6 +143,7 @@ def no_files_domain(request):
         [sssd]
         domains             = local
         services            = nss
+        enable_files_domain = true
 
         [domain/local]
         id_provider = local
_______________________________________________
sssd-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to