summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2018-04-20 09:28:42 -0400
committerLibravatar netblue30 <netblue30@yahoo.com>2018-04-20 09:28:42 -0400
commit3fe1b06a36cefc497e957b603d1a5231ba7fbc02 (patch)
tree7fcb14ff2fc3752ea1438177a6324134e5823caf /src
parentmkuid: fall back to default values if no UID_MIN / GID_MIN found (diff)
downloadfirejail-3fe1b06a36cefc497e957b603d1a5231ba7fbc02.tar.gz
firejail-3fe1b06a36cefc497e957b603d1a5231ba7fbc02.tar.zst
firejail-3fe1b06a36cefc497e957b603d1a5231ba7fbc02.zip
cleanup
Diffstat (limited to 'src')
-rw-r--r--src/firejail/Makefile.in2
-rw-r--r--src/firejail/checkcfg.c7
-rw-r--r--src/firejail/firejail.h4
-rw-r--r--src/firejail/main.c32
-rw-r--r--src/firejail/no_sandbox.c4
-rw-r--r--src/firejail/profile.c4
-rw-r--r--src/firejail/usage.c6
-rw-r--r--src/firejail/util.c3
-rw-r--r--src/firemon/usage.c1
-rw-r--r--src/lib/firejail_user.c6
-rw-r--r--src/man/firejail-users.txt2
-rw-r--r--src/man/firejail.txt31
12 files changed, 12 insertions, 90 deletions
diff --git a/src/firejail/Makefile.in b/src/firejail/Makefile.in
index 48d985d73..d0f43041c 100644
--- a/src/firejail/Makefile.in
+++ b/src/firejail/Makefile.in
@@ -2,7 +2,7 @@ all: firejail
2 2
3include ../common.mk 3include ../common.mk
4 4
5%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/euid_common.h ../include/pid.h ../include/seccomp.h ../include/syscall.h ../include/firejail_user.h 5%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/ldd_utils.h ../include/euid_common.h ../include/pid.h ../include/seccomp.h ../include/syscall.h ../include/firejail_user.h
6 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ 6 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
7 7
8firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o 8firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o
diff --git a/src/firejail/checkcfg.c b/src/firejail/checkcfg.c
index 7b0ae30b6..f8094e893 100644
--- a/src/firejail/checkcfg.c
+++ b/src/firejail/checkcfg.c
@@ -166,10 +166,6 @@ int checkcfg(int val) {
166 else 166 else
167 goto errout; 167 goto errout;
168 } 168 }
169 // follow symlink in private-bin command
170 else if (strncmp(ptr, "follow-symlink-private-bin ", 27) == 0) {
171 fwarning("follow-symlink-private-bin from firejail.config was deprecated\n");
172 }
173 // nonewprivs 169 // nonewprivs
174 else if (strncmp(ptr, "force-nonewprivs ", 17) == 0) { 170 else if (strncmp(ptr, "force-nonewprivs ", 17) == 0) {
175 if (strcmp(ptr + 17, "yes") == 0) 171 if (strcmp(ptr + 17, "yes") == 0)
@@ -311,9 +307,6 @@ int checkcfg(int val) {
311 else 307 else
312 goto errout; 308 goto errout;
313 } 309 }
314 else if (strncmp(ptr, "remount-proc-sys ", 17) == 0) {
315 fwarning("remount-proc-sys from firejail.config was deprecated\n");
316 }
317 else if (strncmp(ptr, "overlayfs ", 10) == 0) { 310 else if (strncmp(ptr, "overlayfs ", 10) == 0) {
318 if (strcmp(ptr + 10, "yes") == 0) 311 if (strcmp(ptr + 10, "yes") == 0)
319 cfg_val[CFG_OVERLAYFS] = 1; 312 cfg_val[CFG_OVERLAYFS] = 1;
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h
index 718c0b328..2746deea1 100644
--- a/src/firejail/firejail.h
+++ b/src/firejail/firejail.h
@@ -309,7 +309,6 @@ static inline int any_interface_configured(void) {
309extern int arg_private; // mount private /home 309extern int arg_private; // mount private /home
310extern int arg_private_template; // private /home template 310extern int arg_private_template; // private /home template
311extern int arg_debug; // print debug messages 311extern int arg_debug; // print debug messages
312extern int arg_debug_check_filename; // print debug messages for filename checking
313extern int arg_debug_blacklists; // print debug messages for blacklists 312extern int arg_debug_blacklists; // print debug messages for blacklists
314extern int arg_debug_whitelists; // print debug messages for whitelists 313extern int arg_debug_whitelists; // print debug messages for whitelists
315extern int arg_debug_private_lib; // print debug messages for private-lib 314extern int arg_debug_private_lib; // print debug messages for private-lib
@@ -577,9 +576,6 @@ void caps_keep_list(const char *clist);
577void caps_print_filter(pid_t pid); 576void caps_print_filter(pid_t pid);
578void caps_drop_dac_override(void); 577void caps_drop_dac_override(void);
579 578
580// syscall.c
581const char *syscall_find_nr(int nr);
582
583// fs_trace.c 579// fs_trace.c
584void fs_trace_preload(void); 580void fs_trace_preload(void);
585void fs_trace(void); 581void fs_trace(void);
diff --git a/src/firejail/main.c b/src/firejail/main.c
index e676bbd7c..2d8af7f41 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -47,7 +47,6 @@ Config cfg; // configuration
47int arg_private = 0; // mount private /home and /tmp directoryu 47int arg_private = 0; // mount private /home and /tmp directoryu
48int arg_private_template = 0; // mount private /home using a template 48int arg_private_template = 0; // mount private /home using a template
49int arg_debug = 0; // print debug messages 49int arg_debug = 0; // print debug messages
50int arg_debug_check_filename = 0; // print debug messages for filename checking
51int arg_debug_blacklists = 0; // print debug messages for blacklists 50int arg_debug_blacklists = 0; // print debug messages for blacklists
52int arg_debug_whitelists = 0; // print debug messages for whitelists 51int arg_debug_whitelists = 0; // print debug messages for whitelists
53int arg_debug_private_lib = 0; // print debug messages for private-lib 52int arg_debug_private_lib = 0; // print debug messages for private-lib
@@ -1051,8 +1050,6 @@ int main(int argc, char **argv) {
1051 1050
1052 if (strcmp(argv[i], "--debug") == 0 && !arg_quiet) 1051 if (strcmp(argv[i], "--debug") == 0 && !arg_quiet)
1053 arg_debug = 1; 1052 arg_debug = 1;
1054 else if (strcmp(argv[i], "--debug-check-filename") == 0)
1055 arg_debug_check_filename = 1;
1056 else if (strcmp(argv[i], "--debug-blacklists") == 0) 1053 else if (strcmp(argv[i], "--debug-blacklists") == 0)
1057 arg_debug_blacklists = 1; 1054 arg_debug_blacklists = 1;
1058 else if (strcmp(argv[i], "--debug-whitelists") == 0) 1055 else if (strcmp(argv[i], "--debug-whitelists") == 0)
@@ -1439,9 +1436,6 @@ int main(int argc, char **argv) {
1439 custom_profile = 1; 1436 custom_profile = 1;
1440 free(ppath); 1437 free(ppath);
1441 } 1438 }
1442 else if (strncmp(argv[i], "--profile-path=", 15) == 0) {
1443 fwarning("--profile-path has been deprecated\n");
1444 }
1445 else if (strcmp(argv[i], "--noprofile") == 0) { 1439 else if (strcmp(argv[i], "--noprofile") == 0) {
1446 if (custom_profile) { 1440 if (custom_profile) {
1447 fprintf(stderr, "Error: --profile and --noprofile options are mutually exclusive\n"); 1441 fprintf(stderr, "Error: --profile and --noprofile options are mutually exclusive\n");
@@ -1541,9 +1535,6 @@ int main(int argc, char **argv) {
1541 else if (strcmp(argv[i], "--machine-id") == 0) { 1535 else if (strcmp(argv[i], "--machine-id") == 0) {
1542 arg_machineid = 1; 1536 arg_machineid = 1;
1543 } 1537 }
1544 else if (strcmp(argv[i], "--allow-private-blacklist") == 0) {
1545 fwarning("--allow-private-blacklist was deprecated\n");
1546 }
1547 else if (strcmp(argv[i], "--private") == 0) { 1538 else if (strcmp(argv[i], "--private") == 0) {
1548 arg_private = 1; 1539 arg_private = 1;
1549 } 1540 }
@@ -2117,29 +2108,6 @@ int main(int argc, char **argv) {
2117 } 2108 }
2118 else if (strcmp(argv[i], "--appimage") == 0) 2109 else if (strcmp(argv[i], "--appimage") == 0)
2119 arg_appimage = 1; 2110 arg_appimage = 1;
2120 else if (strcmp(argv[i], "--csh") == 0) {
2121 if (arg_shell_none) {
2122
2123 fprintf(stderr, "Error: --shell=none was already specified.\n");
2124 return 1;
2125 }
2126 if (cfg.shell) {
2127 fprintf(stderr, "Error: only one default user shell can be specified\n");
2128 return 1;
2129 }
2130 cfg.shell = "/bin/csh";
2131 }
2132 else if (strcmp(argv[i], "--zsh") == 0) {
2133 if (arg_shell_none) {
2134 fprintf(stderr, "Error: --shell=none was already specified.\n");
2135 return 1;
2136 }
2137 if (cfg.shell) {
2138 fprintf(stderr, "Error: only one default user shell can be specified\n");
2139 return 1;
2140 }
2141 cfg.shell = "/bin/zsh";
2142 }
2143 else if (strcmp(argv[i], "--shell=none") == 0) { 2111 else if (strcmp(argv[i], "--shell=none") == 0) {
2144 arg_shell_none = 1; 2112 arg_shell_none = 1;
2145 if (cfg.shell) { 2113 if (cfg.shell) {
diff --git a/src/firejail/no_sandbox.c b/src/firejail/no_sandbox.c
index ba955bcca..5bd3f7e09 100644
--- a/src/firejail/no_sandbox.c
+++ b/src/firejail/no_sandbox.c
@@ -167,9 +167,7 @@ void run_no_sandbox(int argc, char **argv) {
167 for (i = 0; i < argc; i++) { 167 for (i = 0; i < argc; i++) {
168 if (strcmp(argv[i], "--debug") == 0) 168 if (strcmp(argv[i], "--debug") == 0)
169 arg_debug = 1; 169 arg_debug = 1;
170 else if (strcmp(argv[i], "--csh") == 0 || 170 else if (strcmp(argv[i], "--shell=none") == 0 ||
171 strcmp(argv[i], "--zsh") == 0 ||
172 strcmp(argv[i], "--shell=none") == 0 ||
173 strncmp(argv[i], "--shell=", 8) == 0) 171 strncmp(argv[i], "--shell=", 8) == 0)
174 fwarning("shell-related command line options are disregarded - using SHELL environment variable\n"); 172 fwarning("shell-related command line options are disregarded - using SHELL environment variable\n");
175 } 173 }
diff --git a/src/firejail/profile.c b/src/firejail/profile.c
index 3ef9a1856..156ffa24a 100644
--- a/src/firejail/profile.c
+++ b/src/firejail/profile.c
@@ -257,10 +257,6 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
257 arg_nodbus = 1; 257 arg_nodbus = 1;
258 return 0; 258 return 0;
259 } 259 }
260 else if (strcmp(ptr, "allow-private-blacklist") == 0) {
261 fmessage("--allow-private-blacklist was deprecated\n");
262 return 0;
263 }
264 else if (strcmp(ptr, "netfilter") == 0) { 260 else if (strcmp(ptr, "netfilter") == 0) {
265#ifdef HAVE_NETWORK 261#ifdef HAVE_NETWORK
266 if (checkcfg(CFG_NETWORK)) 262 if (checkcfg(CFG_NETWORK))
diff --git a/src/firejail/usage.c b/src/firejail/usage.c
index a9dcc78e5..742fc0465 100644
--- a/src/firejail/usage.c
+++ b/src/firejail/usage.c
@@ -29,8 +29,6 @@ static char *usage_str =
29 "Options:\n" 29 "Options:\n"
30 " -- - signal the end of options and disables further option processing.\n" 30 " -- - signal the end of options and disables further option processing.\n"
31 " --allow-debuggers - allow tools such as strace and gdb inside the sandbox.\n" 31 " --allow-debuggers - allow tools such as strace and gdb inside the sandbox.\n"
32 " --allow-private-blacklist - allow blacklisting files in private\n"
33 "\thome directories.\n"
34 " --allusers - all user home directories are visible inside the sandbox.\n" 32 " --allusers - all user home directories are visible inside the sandbox.\n"
35 " --apparmor - enable AppArmor confinement.\n" 33 " --apparmor - enable AppArmor confinement.\n"
36 " --apparmor.print=name|pid - print apparmor status.\n" 34 " --apparmor.print=name|pid - print apparmor status.\n"
@@ -58,11 +56,9 @@ static char *usage_str =
58#endif 56#endif
59 " --cpu=cpu-number,cpu-number - set cpu affinity.\n" 57 " --cpu=cpu-number,cpu-number - set cpu affinity.\n"
60 " --cpu.print=name|pid - print the cpus in use.\n" 58 " --cpu.print=name|pid - print the cpus in use.\n"
61 " --csh - use /bin/csh as default shell.\n"
62 " --debug - print sandbox debug messages.\n" 59 " --debug - print sandbox debug messages.\n"
63 " --debug-blacklists - debug blacklisting.\n" 60 " --debug-blacklists - debug blacklisting.\n"
64 " --debug-caps - print all recognized capabilities.\n" 61 " --debug-caps - print all recognized capabilities.\n"
65 " --debug-check-filename - debug filename checking.\n"
66 " --debug-errnos - print all recognized error numbers.\n" 62 " --debug-errnos - print all recognized error numbers.\n"
67 " --debug-private-lib - debug for --private-lib option.\n" 63 " --debug-private-lib - debug for --private-lib option.\n"
68 " --debug-protocols - print all recognized protocols.\n" 64 " --debug-protocols - print all recognized protocols.\n"
@@ -163,6 +159,7 @@ static char *usage_str =
163 "\tfilesystem, and copy the files and directories in the list.\n" 159 "\tfilesystem, and copy the files and directories in the list.\n"
164 " --private-tmp - mount a tmpfs on top of /tmp directory.\n" 160 " --private-tmp - mount a tmpfs on top of /tmp directory.\n"
165 " --private-opt=file,directory - build a new /opt in a temporary filesystem.\n" 161 " --private-opt=file,directory - build a new /opt in a temporary filesystem.\n"
162 " --private-srv=file,directory - build a new /srv in a temporary filesystem.\n"
166 " --profile=filename - use a custom profile.\n" 163 " --profile=filename - use a custom profile.\n"
167 " --profile.print=name|pid - print the name of profile file.\n" 164 " --profile.print=name|pid - print the name of profile file.\n"
168 " --profile-path=directory - use this directory to look for profile files.\n" 165 " --profile-path=directory - use this directory to look for profile files.\n"
@@ -236,7 +233,6 @@ static char *usage_str =
236 " --x11=xvfb - enable Xvfb X11 server.\n" 233 " --x11=xvfb - enable Xvfb X11 server.\n"
237 " --xephyr-screen=WIDTHxHEIGHT - set screen size for --x11=xephyr.\n" 234 " --xephyr-screen=WIDTHxHEIGHT - set screen size for --x11=xephyr.\n"
238#endif 235#endif
239 " --zsh - use /usr/bin/zsh as default shell.\n"
240 "\n" 236 "\n"
241 "Examples:\n" 237 "Examples:\n"
242 " $ firejail firefox\n" 238 " $ firejail firefox\n"
diff --git a/src/firejail/util.c b/src/firejail/util.c
index 3437d495f..a44e52e98 100644
--- a/src/firejail/util.c
+++ b/src/firejail/util.c
@@ -800,9 +800,6 @@ void invalid_filename(const char *fname, int globbing) {
800 assert(fname); 800 assert(fname);
801 const char *ptr = fname; 801 const char *ptr = fname;
802 802
803 if (arg_debug_check_filename)
804 printf("Checking filename %s\n", fname);
805
806 if (strncmp(ptr, "${HOME}", 7) == 0) 803 if (strncmp(ptr, "${HOME}", 7) == 0)
807 ptr = fname + 7; 804 ptr = fname + 7;
808 else if (strncmp(ptr, "${PATH}", 7) == 0) 805 else if (strncmp(ptr, "${PATH}", 7) == 0)
diff --git a/src/firemon/usage.c b/src/firemon/usage.c
index 37bd4e874..a4d642d66 100644
--- a/src/firemon/usage.c
+++ b/src/firemon/usage.c
@@ -43,6 +43,7 @@ static char *help_str =
43 "\t--tree - print a tree of all sandboxed processes.\n\n" 43 "\t--tree - print a tree of all sandboxed processes.\n\n"
44 "\t--top - monitor the most CPU-intensive sandboxes.\n\n" 44 "\t--top - monitor the most CPU-intensive sandboxes.\n\n"
45 "\t--version - print program version and exit.\n\n" 45 "\t--version - print program version and exit.\n\n"
46 "\t--x11 - print X11 display number.\n\n"
46 47
47 "Without any options, firemon monitors all fork, exec, id change, and exit\n" 48 "Without any options, firemon monitors all fork, exec, id change, and exit\n"
48 "events in the sandbox. Monitoring a specific PID is also supported.\n\n" 49 "events in the sandbox. Monitoring a specific PID is also supported.\n\n"
diff --git a/src/lib/firejail_user.c b/src/lib/firejail_user.c
index 5d92aa133..7d9784392 100644
--- a/src/lib/firejail_user.c
+++ b/src/lib/firejail_user.c
@@ -45,6 +45,12 @@ int firejail_user_check(const char *name) {
45 if (strcmp(name, "root") == 0) 45 if (strcmp(name, "root") == 0)
46 return 1; 46 return 1;
47 47
48 // user nobody disabled by default
49 if (strcmp(name, "nobody") == 0) {
50 fprintf(stderr, "Error: user nobody is not allowed to run the sandbox\n");
51 exit(1);
52 }
53
48 // check file existence 54 // check file existence
49 char *fname = get_fname(); 55 char *fname = get_fname();
50 if (access(fname, F_OK)) { 56 if (access(fname, F_OK)) {
diff --git a/src/man/firejail-users.txt b/src/man/firejail-users.txt
index fcc0f914b..ec91e495c 100644
--- a/src/man/firejail-users.txt
+++ b/src/man/firejail-users.txt
@@ -5,7 +5,7 @@ firejail.users \- Firejail user access database
5.SH DESCRIPTION 5.SH DESCRIPTION
6/etc/firejail/firejail.users lists the users allowed to run firejail SUID executable. 6/etc/firejail/firejail.users lists the users allowed to run firejail SUID executable.
7If the file is not present in the system, all users are allowed to use the sandbox. 7If the file is not present in the system, all users are allowed to use the sandbox.
8root user is allowed by default. 8root user is allowed by default, user nobody is denied access by default.
9 9
10Example: 10Example:
11 11
diff --git a/src/man/firejail.txt b/src/man/firejail.txt
index 6e8e4eb2c..2e410061d 100644
--- a/src/man/firejail.txt
+++ b/src/man/firejail.txt
@@ -314,15 +314,6 @@ $ firejail \-\-list
314$ firejail \-\-cpu.print=3272 314$ firejail \-\-cpu.print=3272
315 315
316.TP 316.TP
317\fB\-\-csh
318Use /bin/csh as default user shell.
319.br
320
321.br
322Example:
323.br
324$ firejail \-\-csh
325.TP
326\fB\-\-debug\fR 317\fB\-\-debug\fR
327Print debug messages. 318Print debug messages.
328.br 319.br
@@ -351,15 +342,6 @@ Print all recognized capabilities in the current Firejail software build and exi
351Example: 342Example:
352.br 343.br
353$ firejail \-\-debug-caps 344$ firejail \-\-debug-caps
354.TP
355\fB\-\-debug-check-filename\fR
356Debug filename checking.
357.br
358
359.br
360Example:
361.br
362$ firejail \-\-debug-check-filename firefox
363 345
364.TP 346.TP
365\fB\-\-debug-errnos 347\fB\-\-debug-errnos
@@ -1949,8 +1931,7 @@ $ firejail \-\-shell=none script.sh
1949\fB\-\-shell=program 1931\fB\-\-shell=program
1950Set default user shell. Use this shell to run the application using \-c shell option. 1932Set default user shell. Use this shell to run the application using \-c shell option.
1951For example "firejail \-\-shell=/bin/dash firefox" will start Mozilla Firefox as "/bin/dash \-c firefox". 1933For example "firejail \-\-shell=/bin/dash firefox" will start Mozilla Firefox as "/bin/dash \-c firefox".
1952By default Bash shell (/bin/bash) is used. Options such as \-\-zsh and \-\-csh can also set the default 1934By default Bash shell (/bin/bash) is used.
1953shell.
1954.br 1935.br
1955 1936
1956.br 1937.br
@@ -2324,16 +2305,6 @@ Example:
2324$ firejail --net=eth0 --x11=xephyr --xephyr-screen=640x480 firefox 2305$ firejail --net=eth0 --x11=xephyr --xephyr-screen=640x480 firefox
2325.br 2306.br
2326 2307
2327.TP
2328\fB\-\-zsh
2329Use /usr/bin/zsh as default user shell.
2330.br
2331
2332.br
2333Example:
2334.br
2335$ firejail \-\-zsh
2336
2337.SH DESKTOP INTEGRATION 2308.SH DESKTOP INTEGRATION
2338A symbolic link to /usr/bin/firejail under the name of a program, will start the program in Firejail sandbox. 2309A symbolic link to /usr/bin/firejail under the name of a program, will start the program in Firejail sandbox.
2339The symbolic link should be placed in the first $PATH position. On most systems, a good place 2310The symbolic link should be placed in the first $PATH position. On most systems, a good place