diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/debug.c | 3 | ||||
-rw-r--r-- | src/util/server.c | 19 | ||||
-rw-r--r-- | src/util/util.h | 3 |
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}, \ |