summaryrefslogtreecommitdiffstats
path: root/src/monitor
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2011-08-18 15:26:02 +0200
committerStephen Gallagher <sgallagh@redhat.com>2011-08-25 15:46:11 -0400
commit47db32cd9cb2147bb40909352569d7c8274365db (patch)
tree0f9b77fdae651e7e7cb4fb268c413c3146622931 /src/monitor
parent89caf5edcc99f5731e89bd51e6ffaad3ec11c304 (diff)
downloadsssd-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.c113
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");