]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
execute: don't pass unit ID in --user mode to journald for stream logging
authorLennart Poettering <lennart@poettering.net>
Fri, 14 Jul 2017 16:59:41 +0000 (18:59 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 31 Jul 2017 16:01:42 +0000 (18:01 +0200)
When we create a log stream connection to journald, we pass along the
unit ID. With this change we do this only when we run as system
instance, not as user instance, to remove the ambiguity whether a user
or system unit is specified. The effect of this change is minor:
journald ignores the field anyway from clients with UID != 0. This patch
hence only fixes the unit attribution for the --user instance of the
root user.

src/core/execute.c

index b76b9b9e6f75a1958902965c6566516c54c340b7..7481588b081ecd1b07437f1b57863aadb75f7b78 100644 (file)
@@ -356,8 +356,8 @@ static int connect_logger_as(
                 "%i\n"
                 "%i\n"
                 "%i\n",
-                context->syslog_identifier ? context->syslog_identifier : ident,
-                unit->id,
+                context->syslog_identifier ?: ident,
+                MANAGER_IS_SYSTEM(unit->manager) ? unit->id : "",
                 context->syslog_priority,
                 !!context->syslog_level_prefix,
                 output == EXEC_OUTPUT_SYSLOG || output == EXEC_OUTPUT_SYSLOG_AND_CONSOLE,