From fd241d3c78df2a3b28d376ce87958a2804590ad2 Mon Sep 17 00:00:00 2001 From: startx2017 Date: Fri, 15 Sep 2017 07:53:56 -0400 Subject: fix dependency on /etc/firejail/firejail.config when starting on symbolic links --- src/firejail/firejail.h | 2 +- src/firejail/join.c | 2 +- src/firejail/no_sandbox.c | 2 +- src/firejail/sandbox.c | 10 ++++++---- 4 files changed, 9 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h index 0ab27e89b..bea195f36 100644 --- a/src/firejail/firejail.h +++ b/src/firejail/firejail.h @@ -387,7 +387,7 @@ char *guess_shell(void); // sandbox.c int sandbox(void* sandbox_arg); -void start_application(void); +void start_application(int no_sandbox); // network_main.c void net_configure_bridge(Bridge *br, char *dev_name); diff --git a/src/firejail/join.c b/src/firejail/join.c index 14e3ae920..9f52d4565 100644 --- a/src/firejail/join.c +++ b/src/firejail/join.c @@ -386,7 +386,7 @@ void join(pid_t pid, int argc, char **argv, int index) { } } - start_application(); + start_application(0); // it will never get here!!! } diff --git a/src/firejail/no_sandbox.c b/src/firejail/no_sandbox.c index 07c42006d..83737c73d 100644 --- a/src/firejail/no_sandbox.c +++ b/src/firejail/no_sandbox.c @@ -235,5 +235,5 @@ void run_no_sandbox(int argc, char **argv) { arg_quiet = 1; - start_application(); + start_application(1); } diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c index 656942440..abdbbfecd 100644 --- a/src/firejail/sandbox.c +++ b/src/firejail/sandbox.c @@ -350,10 +350,12 @@ static int ok_to_run(const char *program) { return 0; } -void start_application(void) { +void start_application(int no_sandbox) { // set environment - env_defaults(); - env_apply(); + if (no_sandbox == 0) { + env_defaults(); + env_apply(); + } if (arg_debug) { printf("starting application\n"); printf("LD_PRELOAD=%s\n", getenv("LD_PRELOAD")); @@ -1082,7 +1084,7 @@ int sandbox(void* sandbox_arg) { } #endif prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); // kill the child in case the parent died - start_application(); // start app + start_application(0); // start app } int status = monitor_application(app_pid); // monitor application -- cgit v1.2.3-54-g00ecf