summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/debug.c3
-rw-r--r--src/util/server.c19
-rw-r--r--src/util/util.h3
3 files changed, 16 insertions, 9 deletions
diff --git a/src/util/debug.c b/src/util/debug.c
index 1b78ebaef..129b9d9b1 100644
--- a/src/util/debug.c
+++ b/src/util/debug.c
@@ -31,7 +31,8 @@
#include "util/util.h"
const char *debug_prg_name = "sssd";
-int debug_level = 0;
+
+int debug_level = SSS_UNRESOLVED_DEBUG_LEVEL;
int debug_timestamps = 1;
int debug_to_file = 0;
diff --git a/src/util/server.c b/src/util/server.c
index 1e8b148d7..977c75117 100644
--- a/src/util/server.c
+++ b/src/util/server.c
@@ -444,14 +444,17 @@ int server_setup(const char *name, int flags,
return ret;
}
- /* set debug level if any in conf_entry */
- ret = confdb_get_int(ctx->confdb_ctx, ctx, conf_entry,
- CONFDB_SERVICE_DEBUG_LEVEL,
- debug_level, &debug_level);
- if (ret != EOK) {
- DEBUG(0, ("Error reading from confdb (%d) [%s]\n",
- ret, strerror(ret)));
- return ret;
+ if (debug_level == SSS_UNRESOLVED_DEBUG_LEVEL) {
+ /* set debug level if any in conf_entry */
+ ret = confdb_get_int(ctx->confdb_ctx, ctx, conf_entry,
+ CONFDB_SERVICE_DEBUG_LEVEL,
+ SSS_DEFAULT_DEBUG_LEVEL,
+ &debug_level);
+ if (ret != EOK) {
+ DEBUG(0, ("Error reading from confdb (%d) [%s]\n",
+ ret, strerror(ret)));
+ return ret;
+ }
}
/* same for debug timestamps */
diff --git a/src/util/util.h b/src/util/util.h
index 61fe7f6c2..ac6704ae3 100644
--- a/src/util/util.h
+++ b/src/util/util.h
@@ -60,6 +60,9 @@ extern const char *debug_log_file;
void debug_fn(const char *format, ...);
errno_t set_debug_file_from_fd(const int fd);
+#define SSS_DEFAULT_DEBUG_LEVEL 0
+#define SSS_UNRESOLVED_DEBUG_LEVEL -1
+
#define SSSD_DEBUG_OPTS \
{"debug-level", 'd', POPT_ARG_INT, &debug_level, 0, \
_("Debug level"), NULL}, \