From f1207e70c4703c5ff2c2f4b8a7506860f611c633 Mon Sep 17 00:00:00 2001 From: quentin Date: Mon, 13 May 2019 22:17:44 +0200 Subject: Propagate --quiet to children Firejail'ed processes If quiet, set environment variable FIREJAIL_QUIET to "yes" before spawning the child process. Upon starting Firejail, become quiet if the FIREJAIL_QUIET environment variable is set to "yes". Signed-off-by: Quentin Minster --- src/firejail/main.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/firejail/main.c b/src/firejail/main.c index ece4c2cb5..7fa552c98 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c @@ -907,7 +907,8 @@ int main(int argc, char **argv) { // get starting timestamp, process --quiet start_timestamp = getticks(); - if (check_arg(argc, argv, "--quiet", 1)) + char *env_quiet = getenv("FIREJAIL_QUIET"); + if (check_arg(argc, argv, "--quiet", 1) || (env_quiet && strcmp(env_quiet, "yes") == 0)) arg_quiet = 1; // cleanup at exit @@ -2422,6 +2423,10 @@ int main(int argc, char **argv) { } EUID_ASSERT(); + // pass --quiet as an environment variable, in case the command calls further firejailed commands + if (arg_quiet) + setenv("FIREJAIL_QUIET", "yes", 1); + // block X11 sockets if (arg_x11_block) x11_block(); -- cgit v1.2.3-54-g00ecf From ce3ff9711e7cb6d966ce07714c5cd7ac331f7937 Mon Sep 17 00:00:00 2001 From: quentin Date: Fri, 17 May 2019 17:02:58 +0200 Subject: Move export of FIREJAIL_QUIET to env_defaults() So that it also works with --join. (HT @smitsohu) --- src/firejail/env.c | 5 +++++ src/firejail/main.c | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/firejail/env.c b/src/firejail/env.c index 2e9f516ba..f15e1362f 100644 --- a/src/firejail/env.c +++ b/src/firejail/env.c @@ -160,6 +160,11 @@ void env_defaults(void) { // set the window title if (!arg_quiet) printf("\033]0;firejail %s\007", cfg.window_title); + + // pass --quiet as an environment variable, in case the command calls further firejailed commands + if (arg_quiet) + setenv("FIREJAIL_QUIET", "yes", 1); + fflush(0); } diff --git a/src/firejail/main.c b/src/firejail/main.c index 7fa552c98..f3dc72944 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c @@ -2423,10 +2423,6 @@ int main(int argc, char **argv) { } EUID_ASSERT(); - // pass --quiet as an environment variable, in case the command calls further firejailed commands - if (arg_quiet) - setenv("FIREJAIL_QUIET", "yes", 1); - // block X11 sockets if (arg_x11_block) x11_block(); -- cgit v1.2.3-54-g00ecf