From: Lennart Poettering Date: Fri, 24 Feb 2023 09:15:35 +0000 (+0100) Subject: manager: be more careful with env var clean-up X-Git-Tag: v254-rc1~1160^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c792a2e5db633b44aa63231232db7afbea0842a2;p=thirdparty%2Fsystemd.git manager: be more careful with env var clean-up Let's add some more env vars we nowadays set for activated services to the list of env vars we strip from the environment block we pass on. --- diff --git a/src/core/manager.c b/src/core/manager.c index 380a4e30d7a..5c8c417daed 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -635,8 +635,14 @@ static char** sanitize_environment(char **l) { "LISTEN_FDS", "LISTEN_PID", "LOGS_DIRECTORY", + "LOG_NAMESPACE", "MAINPID", "MANAGERPID", + "MONITOR_EXIT_CODE", + "MONITOR_EXIT_STATUS", + "MONITOR_INVOCATION_ID", + "MONITOR_SERVICE_RESULT", + "MONITOR_UNIT", "NOTIFY_SOCKET", "PIDFILE", "REMOTE_ADDR", @@ -644,6 +650,11 @@ static char** sanitize_environment(char **l) { "RUNTIME_DIRECTORY", "SERVICE_RESULT", "STATE_DIRECTORY", + "SYSTEMD_EXEC_PID", + "TRIGGER_PATH", + "TRIGGER_TIMER_MONOTONIC_USEC", + "TRIGGER_TIMER_REALTIME_USEC", + "TRIGGER_UNIT", "WATCHDOG_PID", "WATCHDOG_USEC", NULL); @@ -660,13 +671,11 @@ int manager_default_environment(Manager *m) { m->transient_environment = strv_free(m->transient_environment); if (MANAGER_IS_SYSTEM(m)) { - /* The system manager always starts with a clean - * environment for its children. It does not import - * the kernel's or the parents' exported variables. + /* The system manager always starts with a clean environment for its children. It does not + * import the kernel's or the parents' exported variables. * - * The initial passed environment is untouched to keep - * /proc/self/environ valid; it is used for tagging - * the init process inside containers. */ + * The initial passed environment is untouched to keep /proc/self/environ valid; it is used + * for tagging the init process inside containers. */ m->transient_environment = strv_new("PATH=" DEFAULT_PATH); if (!m->transient_environment) return log_oom(); @@ -685,7 +694,6 @@ int manager_default_environment(Manager *m) { } sanitize_environment(m->transient_environment); - return 0; }