diff options
author | startx2017 <vradu.startx@yandex.com> | 2017-09-15 07:53:56 -0400 |
---|---|---|
committer | startx2017 <vradu.startx@yandex.com> | 2017-09-15 07:53:56 -0400 |
commit | fd241d3c78df2a3b28d376ce87958a2804590ad2 (patch) | |
tree | 4dbf23cf126c0ffac9f4dd48545383893ed1e1b9 /src | |
parent | update whitelist-common.inc (diff) | |
download | firejail-fd241d3c78df2a3b28d376ce87958a2804590ad2.tar.gz firejail-fd241d3c78df2a3b28d376ce87958a2804590ad2.tar.zst firejail-fd241d3c78df2a3b28d376ce87958a2804590ad2.zip |
fix dependency on /etc/firejail/firejail.config when starting on symbolic links
Diffstat (limited to 'src')
-rw-r--r-- | src/firejail/firejail.h | 2 | ||||
-rw-r--r-- | src/firejail/join.c | 2 | ||||
-rw-r--r-- | src/firejail/no_sandbox.c | 2 | ||||
-rw-r--r-- | src/firejail/sandbox.c | 10 |
4 files changed, 9 insertions, 7 deletions
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); | |||
387 | 387 | ||
388 | // sandbox.c | 388 | // sandbox.c |
389 | int sandbox(void* sandbox_arg); | 389 | int sandbox(void* sandbox_arg); |
390 | void start_application(void); | 390 | void start_application(int no_sandbox); |
391 | 391 | ||
392 | // network_main.c | 392 | // network_main.c |
393 | void net_configure_bridge(Bridge *br, char *dev_name); | 393 | 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) { | |||
386 | } | 386 | } |
387 | } | 387 | } |
388 | 388 | ||
389 | start_application(); | 389 | start_application(0); |
390 | 390 | ||
391 | // it will never get here!!! | 391 | // it will never get here!!! |
392 | } | 392 | } |
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) { | |||
235 | 235 | ||
236 | arg_quiet = 1; | 236 | arg_quiet = 1; |
237 | 237 | ||
238 | start_application(); | 238 | start_application(1); |
239 | } | 239 | } |
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) { | |||
350 | return 0; | 350 | return 0; |
351 | } | 351 | } |
352 | 352 | ||
353 | void start_application(void) { | 353 | void start_application(int no_sandbox) { |
354 | // set environment | 354 | // set environment |
355 | env_defaults(); | 355 | if (no_sandbox == 0) { |
356 | env_apply(); | 356 | env_defaults(); |
357 | env_apply(); | ||
358 | } | ||
357 | if (arg_debug) { | 359 | if (arg_debug) { |
358 | printf("starting application\n"); | 360 | printf("starting application\n"); |
359 | printf("LD_PRELOAD=%s\n", getenv("LD_PRELOAD")); | 361 | printf("LD_PRELOAD=%s\n", getenv("LD_PRELOAD")); |
@@ -1082,7 +1084,7 @@ int sandbox(void* sandbox_arg) { | |||
1082 | } | 1084 | } |
1083 | #endif | 1085 | #endif |
1084 | prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); // kill the child in case the parent died | 1086 | prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); // kill the child in case the parent died |
1085 | start_application(); // start app | 1087 | start_application(0); // start app |
1086 | } | 1088 | } |
1087 | 1089 | ||
1088 | int status = monitor_application(app_pid); // monitor application | 1090 | int status = monitor_application(app_pid); // monitor application |