diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/firejail/firejail.h | 1 | ||||
-rw-r--r-- | src/firejail/no_sandbox.c | 5 | ||||
-rw-r--r-- | src/firejail/run_symlink.c | 6 |
3 files changed, 7 insertions, 5 deletions
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h index 91b9c7be7..6f0a5aa7b 100644 --- a/src/firejail/firejail.h +++ b/src/firejail/firejail.h | |||
@@ -718,6 +718,7 @@ void build_appimage_cmdline(char **command_line, char **window_title, int argc, | |||
718 | // programs | 718 | // programs |
719 | #define PATH_FNET (LIBDIR "/firejail/fnet") | 719 | #define PATH_FNET (LIBDIR "/firejail/fnet") |
720 | #define PATH_FIREMON (PREFIX "/bin/firemon") | 720 | #define PATH_FIREMON (PREFIX "/bin/firemon") |
721 | #define PATH_FIREJAIL (PREFIX "/bin/firejail") | ||
721 | #define PATH_FSECCOMP (LIBDIR "/firejail/fseccomp") | 722 | #define PATH_FSECCOMP (LIBDIR "/firejail/fseccomp") |
722 | #define PATH_FCOPY (LIBDIR "/firejail/fcopy") | 723 | #define PATH_FCOPY (LIBDIR "/firejail/fcopy") |
723 | #define SBOX_STDIN_FILE "/run/firejail/mnt/sbox_stdin" | 724 | #define SBOX_STDIN_FILE "/run/firejail/mnt/sbox_stdin" |
diff --git a/src/firejail/no_sandbox.c b/src/firejail/no_sandbox.c index b37c5abf7..07c42006d 100644 --- a/src/firejail/no_sandbox.c +++ b/src/firejail/no_sandbox.c | |||
@@ -209,6 +209,11 @@ void run_no_sandbox(int argc, char **argv) { | |||
209 | break; | 209 | break; |
210 | } | 210 | } |
211 | } | 211 | } |
212 | // if shell is /usr/bin/firejail, replace it with /bin/bash | ||
213 | if (strcmp(cfg.shell, PATH_FIREJAIL) == 0) { | ||
214 | cfg.shell = "/bin/bash"; | ||
215 | prog_index = 0; | ||
216 | } | ||
212 | 217 | ||
213 | if (prog_index == 0) { | 218 | if (prog_index == 0) { |
214 | cfg.command_line = cfg.shell; | 219 | cfg.command_line = cfg.shell; |
diff --git a/src/firejail/run_symlink.c b/src/firejail/run_symlink.c index a9298a33f..ed885d3b1 100644 --- a/src/firejail/run_symlink.c +++ b/src/firejail/run_symlink.c | |||
@@ -86,10 +86,6 @@ void run_symlink(int argc, char **argv) { | |||
86 | 86 | ||
87 | 87 | ||
88 | // start the argv[0] program in a new sandbox | 88 | // start the argv[0] program in a new sandbox |
89 | char *firejail; | ||
90 | if (asprintf(&firejail, "%s/bin/firejail", PREFIX) == -1) | ||
91 | errExit("asprintf"); | ||
92 | |||
93 | // drop privileges | 89 | // drop privileges |
94 | if (setgid(getgid()) < 0) | 90 | if (setgid(getgid()) < 0) |
95 | errExit("setgid/getgid"); | 91 | errExit("setgid/getgid"); |
@@ -98,7 +94,7 @@ void run_symlink(int argc, char **argv) { | |||
98 | 94 | ||
99 | // run command | 95 | // run command |
100 | char *a[3 + argc]; | 96 | char *a[3 + argc]; |
101 | a[0] = firejail; | 97 | a[0] =PATH_FIREJAIL; |
102 | a[1] = program; | 98 | a[1] = program; |
103 | int i; | 99 | int i; |
104 | for (i = 0; i < (argc - 1); i++) { | 100 | for (i = 0; i < (argc - 1); i++) { |