aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELNOTES4
-rw-r--r--etc/disable-programs.inc2
-rw-r--r--etc/redeclipse.profile (renamed from etc/xmr-stak-cpu.profile)17
-rw-r--r--etc/xmr-stak.profile44
-rw-r--r--etc/xonotic.profile1
-rw-r--r--src/firecfg/firecfg.config3
-rw-r--r--src/firejail/appimage.c2
-rw-r--r--src/firejail/sandbox.c31
-rw-r--r--src/firemon/apparmor.c3
9 files changed, 70 insertions, 37 deletions
diff --git a/RELNOTES b/RELNOTES
index 2bab5ddc2..fe871134b 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,6 +1,10 @@
1firejail (0.9.53) baseline; urgency=low 1firejail (0.9.53) baseline; urgency=low
2 * work in progress 2 * work in progress
3 * seccomp syscall list update for glibc 2.26-10 3 * seccomp syscall list update for glibc 2.26-10
4 * IPv6 DNS support
5 * whitelist support for overlay and chroot sandboxes
6 * private-dev support for overlay and chroot sandboxes
7 * private-tmp support for overlay and chroot sandboxes
4 * new profiles: basilisk, Tor Browser language packs, PlayOnLinux, sylpheed, discord-canary 8 * new profiles: basilisk, Tor Browser language packs, PlayOnLinux, sylpheed, discord-canary
5 * new profiles: pycharm-community, pycharm-professional 9 * new profiles: pycharm-community, pycharm-professional
6 -- netblue30 <netblue30@yahoo.com> Tue, 12 Dec 2017 08:00:00 -0500 10 -- netblue30 <netblue30@yahoo.com> Tue, 12 Dec 2017 08:00:00 -0500
diff --git a/etc/disable-programs.inc b/etc/disable-programs.inc
index 8cfcaa838..4d9c4d85f 100644
--- a/etc/disable-programs.inc
+++ b/etc/disable-programs.inc
@@ -416,6 +416,7 @@ blacklist ${HOME}/.passwd-s3fs
416blacklist ${HOME}/.pingus 416blacklist ${HOME}/.pingus
417blacklist ${HOME}/.purple 417blacklist ${HOME}/.purple
418blacklist ${HOME}/.qemu-launcher 418blacklist ${HOME}/.qemu-launcher
419blacklist ${HOME}/.redeclipse
419blacklist ${HOME}/.remmina 420blacklist ${HOME}/.remmina
420blacklist ${HOME}/.repo_.gitconfig.json 421blacklist ${HOME}/.repo_.gitconfig.json
421blacklist ${HOME}/.repoconfig 422blacklist ${HOME}/.repoconfig
@@ -453,6 +454,7 @@ blacklist ${HOME}/.wireshark
453blacklist ${HOME}/.wine64 454blacklist ${HOME}/.wine64
454blacklist ${HOME}/.xiphos 455blacklist ${HOME}/.xiphos
455blacklist ${HOME}/.xmms 456blacklist ${HOME}/.xmms
457blacklist ${HOME}/.xmr-stak
456blacklist ${HOME}/.xonotic 458blacklist ${HOME}/.xonotic
457blacklist ${HOME}/.xpdfrc 459blacklist ${HOME}/.xpdfrc
458blacklist ${HOME}/.zoom 460blacklist ${HOME}/.zoom
diff --git a/etc/xmr-stak-cpu.profile b/etc/redeclipse.profile
index 9cc6e0c1f..f0a993c54 100644
--- a/etc/xmr-stak-cpu.profile
+++ b/etc/redeclipse.profile
@@ -1,27 +1,28 @@
1# Firejail profile for xmr-stak-cpu 1# Firejail profile for redeclipse
2# This file is overwritten after every install/update 2# This file is overwritten after every install/update
3# Persistent local customizations 3# Persistent local customizations
4include /etc/firejail/xmr-stak-cpu.local 4include /etc/firejail/redeclipse.local
5# Persistent global definitions 5# Persistent global definitions
6include /etc/firejail/globals.local 6include /etc/firejail/globals.local
7 7
8noblacklist ${HOME}/.redeclipse
8 9
9include /etc/firejail/disable-common.inc 10include /etc/firejail/disable-common.inc
10include /etc/firejail/disable-devel.inc 11include /etc/firejail/disable-devel.inc
11include /etc/firejail/disable-passwdmgr.inc 12include /etc/firejail/disable-passwdmgr.inc
12include /etc/firejail/disable-programs.inc 13include /etc/firejail/disable-programs.inc
13 14
15mkdir ${HOME}/.redeclipse
16whitelist ${HOME}/.redeclipse
17include /etc/firejail/whitelist-common.inc
14include /etc/firejail/whitelist-var-common.inc 18include /etc/firejail/whitelist-var-common.inc
15 19
16caps.drop all 20caps.drop all
17ipc-namespace
18netfilter 21netfilter
19no3d
20nodvd 22nodvd
21nogroups 23nogroups
22nonewprivs 24nonewprivs
23noroot 25noroot
24nosound
25notv 26notv
26novideo 27novideo
27protocol unix,inet,inet6 28protocol unix,inet,inet6
@@ -29,14 +30,8 @@ seccomp
29shell none 30shell none
30 31
31disable-mnt 32disable-mnt
32private
33private-bin xmr-stak-cpu
34private-dev 33private-dev
35private-etc xmr-stak-cpu.json
36private-lib
37private-opt none
38private-tmp 34private-tmp
39 35
40memory-deny-write-execute
41noexec ${HOME} 36noexec ${HOME}
42noexec /tmp 37noexec /tmp
diff --git a/etc/xmr-stak.profile b/etc/xmr-stak.profile
new file mode 100644
index 000000000..151a4c694
--- /dev/null
+++ b/etc/xmr-stak.profile
@@ -0,0 +1,44 @@
1# Firejail profile for xmr-stak
2# This file is overwritten after every install/update
3# Persistent local customizations
4include /etc/firejail/xmr-stak.local
5# Persistent global definitions
6include /etc/firejail/globals.local
7
8noblacklist ${HOME}/.xmr-stak
9noblacklist /usr/lib/llvm*
10
11include /etc/firejail/disable-common.inc
12include /etc/firejail/disable-devel.inc
13include /etc/firejail/disable-passwdmgr.inc
14include /etc/firejail/disable-programs.inc
15
16mkdir ${HOME}/.xmr-stak
17include /etc/firejail/whitelist-var-common.inc
18
19caps.drop all
20ipc-namespace
21netfilter
22nodvd
23nogroups
24nonewprivs
25noroot
26nosound
27notv
28novideo
29protocol unix,inet,inet6
30seccomp
31shell none
32
33disable-mnt
34private ${HOME}/.xmr-stak
35private-bin xmr-stak
36private-dev
37private-etc ca-certificates,crypto-policies,nsswitch.conf,pki,resolv.conf,ssl
38#private-lib libxmrstak_opencl_backend,libxmrstak_cuda_backend
39private-opt cuda
40private-tmp
41
42memory-deny-write-execute
43noexec ${HOME}
44noexec /tmp
diff --git a/etc/xonotic.profile b/etc/xonotic.profile
index d17d2b612..7a466db9b 100644
--- a/etc/xonotic.profile
+++ b/etc/xonotic.profile
@@ -15,6 +15,7 @@ include /etc/firejail/disable-programs.inc
15mkdir ${HOME}/.xonotic 15mkdir ${HOME}/.xonotic
16whitelist ${HOME}/.xonotic 16whitelist ${HOME}/.xonotic
17include /etc/firejail/whitelist-common.inc 17include /etc/firejail/whitelist-common.inc
18include /etc/firejail/whitelist-var-common.inc
18 19
19caps.drop all 20caps.drop all
20netfilter 21netfilter
diff --git a/src/firecfg/firecfg.config b/src/firecfg/firecfg.config
index 1cd9d9c1f..e9e1db287 100644
--- a/src/firecfg/firecfg.config
+++ b/src/firecfg/firecfg.config
@@ -293,6 +293,7 @@ qupzilla
293qutebrowser 293qutebrowser
294rambox 294rambox
295ranger 295ranger
296redeclipse
296remmina 297remmina
297rhythmbox 298rhythmbox
298ricochet 299ricochet
@@ -393,7 +394,7 @@ xfce4-dict
393xfce4-notes 394xfce4-notes
394xiphos 395xiphos
395xmms 396xmms
396xmr-stak-cpu 397xmr-stak
397xonotic 398xonotic
398xonotic-glx 399xonotic-glx
399xonotic-sdl 400xonotic-sdl
diff --git a/src/firejail/appimage.c b/src/firejail/appimage.c
index 7436b7755..631276c0b 100644
--- a/src/firejail/appimage.c
+++ b/src/firejail/appimage.c
@@ -109,10 +109,12 @@ void appimage_set(const char *appimage) {
109 EUID_ROOT(); 109 EUID_ROOT();
110 110
111 if (size == 0) { 111 if (size == 0) {
112 fmessage("Mounting appimage type 1\n");
112 if (mount(devloop, mntdir, "iso9660",MS_MGC_VAL|MS_RDONLY, mode) < 0) 113 if (mount(devloop, mntdir, "iso9660",MS_MGC_VAL|MS_RDONLY, mode) < 0)
113 errExit("mounting appimage"); 114 errExit("mounting appimage");
114 } 115 }
115 else { 116 else {
117 fmessage("Mounting appimage type 2\n");
116 if (mount(devloop, mntdir, "squashfs",MS_MGC_VAL|MS_RDONLY, mode) < 0) 118 if (mount(devloop, mntdir, "squashfs",MS_MGC_VAL|MS_RDONLY, mode) < 0)
117 errExit("mounting appimage"); 119 errExit("mounting appimage");
118 } 120 }
diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c
index ed0a253b3..47bb94a52 100644
--- a/src/firejail/sandbox.c
+++ b/src/firejail/sandbox.c
@@ -763,14 +763,8 @@ int sandbox(void* sandbox_arg) {
763 fs_private(); 763 fs_private();
764 } 764 }
765 765
766 if (arg_private_dev) { 766 if (arg_private_dev)
767 if (cfg.chrootdir) 767 fs_private_dev();
768 fwarning("private-dev feature is disabled in chroot\n");
769 else if (arg_overlay)
770 fwarning("private-dev feature is disabled in overlay\n");
771 else
772 fs_private_dev();
773 }
774 768
775 if (arg_private_etc) { 769 if (arg_private_etc) {
776 if (cfg.chrootdir) 770 if (cfg.chrootdir)
@@ -835,16 +829,10 @@ int sandbox(void* sandbox_arg) {
835 } 829 }
836 830
837 if (arg_private_tmp) { 831 if (arg_private_tmp) {
838 if (cfg.chrootdir) 832 // private-tmp is implemented as a whitelist
839 fwarning("private-tmp feature is disabled in chroot\n"); 833 EUID_USER();
840 else if (arg_overlay) 834 fs_private_tmp();
841 fwarning("private-tmp feature is disabled in overlay\n"); 835 EUID_ROOT();
842 else {
843 // private-tmp is implemented as a whitelist
844 EUID_USER();
845 fs_private_tmp();
846 EUID_ROOT();
847 }
848 } 836 }
849 837
850 //**************************** 838 //****************************
@@ -877,12 +865,7 @@ int sandbox(void* sandbox_arg) {
877 // apply the profile file 865 // apply the profile file
878 //**************************** 866 //****************************
879 // apply all whitelist commands ... 867 // apply all whitelist commands ...
880 if (cfg.chrootdir) 868 fs_whitelist();
881 fwarning("whitelist feature is disabled in chroot\n");
882 else if (arg_overlay)
883 fwarning("whitelist feature is disabled in overlay\n");
884 else
885 fs_whitelist();
886 869
887 // ... followed by blacklist commands 870 // ... followed by blacklist commands
888 fs_blacklist(); // mkdir and mkfile are processed all over again 871 fs_blacklist(); // mkdir and mkfile are processed all over again
diff --git a/src/firemon/apparmor.c b/src/firemon/apparmor.c
index 0fe287e8f..0b921f8a2 100644
--- a/src/firemon/apparmor.c
+++ b/src/firemon/apparmor.c
@@ -18,9 +18,10 @@
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19*/ 19*/
20#include "firemon.h" 20#include "firemon.h"
21#include <sys/apparmor.h>
22 21
23#ifdef HAVE_APPARMOR 22#ifdef HAVE_APPARMOR
23#include <sys/apparmor.h>
24
24static void print_apparmor(int pid) { 25static void print_apparmor(int pid) {
25 char *label = NULL; 26 char *label = NULL;
26 char *mode = NULL; 27 char *mode = NULL;