diff options
author | Pavel Březina <pbrezina@redhat.com> | 2011-08-18 15:26:02 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-08-25 15:46:11 -0400 |
commit | 47db32cd9cb2147bb40909352569d7c8274365db (patch) | |
tree | 0f9b77fdae651e7e7cb4fb268c413c3146622931 /src/monitor | |
parent | 89caf5edcc99f5731e89bd51e6ffaad3ec11c304 (diff) | |
download | sssd-47db32cd9cb2147bb40909352569d7c8274365db.tar.gz sssd-47db32cd9cb2147bb40909352569d7c8274365db.tar.xz sssd-47db32cd9cb2147bb40909352569d7c8274365db.zip |
--debug-timestamps=1 is not passed to providers
https://fedorahosted.org/sssd/ticket/972
--debug-timestamps=1 is now passed to providers
Diffstat (limited to 'src/monitor')
-rw-r--r-- | src/monitor/monitor.c | 113 |
1 files changed, 69 insertions, 44 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c index 457447580..dd0998418 100644 --- a/src/monitor/monitor.c +++ b/src/monitor/monitor.c @@ -56,6 +56,7 @@ #define MONITOR_DEF_PING_TIME 10 int cmdline_debug_level; +int cmdline_debug_timestamps; struct svc_spy; @@ -943,34 +944,43 @@ static int get_service_config(struct mt_ctx *ctx, const char *name, } if (!svc->command) { - if (cmdline_debug_level == SSSDBG_UNRESOLVED) { - svc->command = talloc_asprintf(svc, "%s/sssd_%s %s%s", - SSSD_LIBEXEC_PATH, - svc->name, - debug_timestamps? - "": "--debug-timestamps=0 ", - debug_to_file? - "--debug-to-files":""); - } else { - /* If the debug level was specified at the command-line, - * make sure to pass it into the children, overriding the - * config file. - */ - svc->command = talloc_asprintf(svc, "%s/sssd_%s -d %#.4x%s%s", - SSSD_LIBEXEC_PATH, - svc->name, - cmdline_debug_level, - debug_timestamps ? - "" : - " --debug-timestamps=0", - debug_to_file ? - " --debug-to-files" : - ""); - } + svc->command = talloc_asprintf( + svc, "%s/sssd_%s", SSSD_LIBEXEC_PATH, svc->name + ); if (!svc->command) { talloc_free(svc); return ENOMEM; } + + if (cmdline_debug_level != SSSDBG_UNRESOLVED) { + svc->command = talloc_asprintf_append( + svc->command, " -d %#.4x", cmdline_debug_level + ); + if (!svc->command) { + talloc_free(svc); + return ENOMEM; + } + } + + if (cmdline_debug_timestamps != SSSDBG_TIMESTAMP_UNRESOLVED) { + svc->command = talloc_asprintf_append( + svc->command, " --debug-timestamps=%d", cmdline_debug_timestamps + ); + if (!svc->command) { + talloc_free(svc); + return ENOMEM; + } + } + + if (debug_to_file) { + svc->command = talloc_strdup_append( + svc->command, " --debug-to-files" + ); + if (!svc->command) { + talloc_free(svc); + return ENOMEM; + } + } } ret = confdb_get_int(ctx->cdb, svc, path, @@ -1089,29 +1099,43 @@ static int get_provider_config(struct mt_ctx *ctx, const char *name, /* if there are no custom commands, build a default one */ if (!svc->command) { - if (cmdline_debug_level == SSSDBG_UNRESOLVED) { - svc->command = talloc_asprintf(svc, - "%s/sssd_be --domain %s%s%s", - SSSD_LIBEXEC_PATH, - svc->name, - debug_timestamps ? "" - : " --debug-timestamps=0", - debug_to_file ? " --debug-to-files" : ""); - } else { - svc->command = talloc_asprintf(svc, - "%s/sssd_be --domain %s -d %#.4x%s%s ", - SSSD_LIBEXEC_PATH, - svc->name, - cmdline_debug_level, - debug_timestamps ? "" - : " --debug-timestamps=0", - debug_to_file ? " --debug-to-files" : ""); - } - + svc->command = talloc_asprintf( + svc, "%s/sssd_be --domain %s", SSSD_LIBEXEC_PATH, svc->name + ); if (!svc->command) { talloc_free(svc); return ENOMEM; } + + if (cmdline_debug_level != SSSDBG_UNRESOLVED) { + svc->command = talloc_asprintf_append( + svc->command, " -d %#.4x", cmdline_debug_level + ); + if (!svc->command) { + talloc_free(svc); + return ENOMEM; + } + } + + if (cmdline_debug_timestamps != SSSDBG_TIMESTAMP_UNRESOLVED) { + svc->command = talloc_asprintf_append( + svc->command, " --debug-timestamps=%d", cmdline_debug_timestamps + ); + if (!svc->command) { + talloc_free(svc); + return ENOMEM; + } + } + + if (debug_to_file) { + svc->command = talloc_strdup_append( + svc->command, " --debug-to-files" + ); + if (!svc->command) { + talloc_free(svc); + return ENOMEM; + } + } } *svc_cfg = svc; @@ -2337,10 +2361,11 @@ int main(int argc, const char *argv[]) CONVERT_AND_SET_DEBUG_LEVEL(debug_level); - /* If the level was passed at the command-line, we want + /* If the level or timestamps was passed at the command-line, we want * to save it and pass it to the children later. */ cmdline_debug_level = debug_level; + cmdline_debug_timestamps = debug_timestamps; if (opt_daemon && opt_interactive) { fprintf(stderr, "Option -i|--interactive is not allowed together with -D|--daemon\n"); |