Projects
Mega:23.03
systemd
_service:tar_scm:backport-sd-bus-print-quoted-c...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-sd-bus-print-quoted-commandline-when-in-bus_socket_e.patch of Package systemd
From a221143c6de4917bb6653f5aa134ce8be3c90f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> Date: Wed, 7 Jul 2021 16:36:49 +0200 Subject: [PATCH] sd-bus: print quoted commandline when in bus_socket_exec() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The arguments are where the interesting part is: src/libsystemd/sd-bus/bus-socket.c:965: sd-bus: starting bus with systemd-run... ↓ src/libsystemd/sd-bus/bus-socket.c:972: sd-bus: starting bus with systemd-run -M.host -PGq --wait -pUser=1000 -pPAMName=login systemd-stdio-bridge "-punix:path=\${XDG_RUNTIME_DIR}/bus" (cherry picked from commit 87fa2e21dd7a30d25ccda2df6b8446a82637b059) Conflict:NA Reference:https://github.com/systemd/systemd/commit/a221143c6de4917bb6653f5aa134ce8be3c90f6c --- src/libsystemd/sd-bus/bus-socket.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c index 09eb49c37f..42c5f175d3 100644 --- a/src/libsystemd/sd-bus/bus-socket.c +++ b/src/libsystemd/sd-bus/bus-socket.c @@ -12,6 +12,7 @@ #include "bus-internal.h" #include "bus-message.h" #include "bus-socket.h" +#include "escape.h" #include "fd-util.h" #include "format-util.h" #include "fs-util.h" @@ -962,8 +963,17 @@ int bus_socket_exec(sd_bus *b) { assert(b->exec_path); assert(b->busexec_pid == 0); - log_debug("sd-bus: starting bus%s%s with %s...", - b->description ? " " : "", strempty(b->description), b->exec_path); + if (DEBUG_LOGGING) { + _cleanup_free_ char *line = NULL; + + if (b->exec_argv) + line = quote_command_line(b->exec_argv); + + log_debug("sd-bus: starting bus%s%s with %s%s", + b->description ? " " : "", strempty(b->description), + line ?: b->exec_path, + b->exec_argv && !line ? "…" : ""); + } r = socketpair(AF_UNIX, SOCK_STREAM|SOCK_NONBLOCK|SOCK_CLOEXEC, 0, s); if (r < 0) @@ -984,10 +994,8 @@ int bus_socket_exec(sd_bus *b) { if (b->exec_argv) execvp(b->exec_path, b->exec_argv); - else { - const char *argv[] = { b->exec_path, NULL }; - execvp(b->exec_path, (char**) argv); - } + else + execvp(b->exec_path, STRV_MAKE(b->exec_path)); _exit(EXIT_FAILURE); } -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2