aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml13
-rw-r--r--Makefile.in2
-rw-r--r--README4
-rw-r--r--etc/allow-ruby.inc2
-rw-r--r--etc/aria2c.profile4
-rw-r--r--etc/artha.profile17
-rw-r--r--etc/baobab.profile2
-rw-r--r--etc/barrier.profile45
-rw-r--r--etc/celluloid.profile4
-rw-r--r--etc/claws-mail.profile5
-rw-r--r--etc/disable-common.inc1
-rw-r--r--etc/disable-programs.inc3
-rw-r--r--etc/evince.profile4
-rw-r--r--etc/exiftool.profile1
-rw-r--r--etc/gedit.profile2
-rw-r--r--etc/gnome-builder.profile1
-rw-r--r--etc/gnome-maps.profile2
-rw-r--r--etc/hexchat.profile4
-rw-r--r--etc/mpv.profile1
-rw-r--r--etc/mupdf.profile5
-rw-r--r--etc/neverputt.profile2
-rw-r--r--etc/openshot.profile5
-rw-r--r--etc/pavucontrol.profile11
-rw-r--r--etc/qutebrowser.profile2
-rw-r--r--etc/sylpheed.profile30
-rw-r--r--etc/templates/profile.template3
-rw-r--r--etc/torbrowser-launcher.profile2
-rw-r--r--etc/weechat.profile1
-rw-r--r--etc/wget.profile20
-rw-r--r--etc/whois.profile15
-rw-r--r--etc/youtube-dl.profile2
-rw-r--r--src/firecfg/firecfg.config1
-rw-r--r--src/man/firejail.txt2
-rwxr-xr-xtest/fs/whitelist-dev.exp6
-rwxr-xr-xtest/utils/audit.exp8
-rwxr-xr-xtest/utils/shutdown.exp2
36 files changed, 163 insertions, 71 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 19dd2b320..cc3614c99 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,12 +20,12 @@ build_debian_package:
20 - apt-get install -y -qq build-essential lintian pkg-config 20 - apt-get install -y -qq build-essential lintian pkg-config
21 - ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb 21 - ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb
22 22
23build_redhat_package: 23#build_redhat_package:
24 image: centos:latest 24# image: centos:latest
25 script: 25# script:
26 - yum update -y 26# - yum update -y
27 - yum install -y rpm-build gcc make 27# - yum install -y rpm-build gcc make
28 - ./configure --prefix=/usr && make rpms && yum install -y firejail*.rpm 28# - ./configure --prefix=/usr && make rpms && yum install -y firejail*.rpm
29 29
30build_fedora_package: 30build_fedora_package:
31 image: fedora:latest 31 image: fedora:latest
@@ -74,6 +74,7 @@ debian_ci:
74 - git config user.email "$GITLAB_USER_NAME" && git config user.name "$GITLAB_USER_EMAIL" 74 - git config user.email "$GITLAB_USER_NAME" && git config user.name "$GITLAB_USER_EMAIL"
75 - cd $CI_PROJECT_DIR/.. && (apt-get source --download-only -t experimental firejail || apt-get source --download-only firejail) 75 - cd $CI_PROJECT_DIR/.. && (apt-get source --download-only -t experimental firejail || apt-get source --download-only firejail)
76 - cd $CI_PROJECT_DIR && tar xf ../firejail_*.debian.tar.* 76 - cd $CI_PROJECT_DIR && tar xf ../firejail_*.debian.tar.*
77 - rm -rf debian/patches/
77 - VERSION=$(grep ^PACKAGE_VERSION= configure | cut -d"'" -f2) && dch -v ${VERSION}-0.1~ci "Non-maintainer upload." && git archive -o ../firejail_${VERSION}.orig.tar.gz HEAD && pristine-tar commit ../firejail_${VERSION}.orig.tar.gz ci_build && git branch -m pristine-tar origin/pristine-tar 78 - VERSION=$(grep ^PACKAGE_VERSION= configure | cut -d"'" -f2) && dch -v ${VERSION}-0.1~ci "Non-maintainer upload." && git archive -o ../firejail_${VERSION}.orig.tar.gz HEAD && pristine-tar commit ../firejail_${VERSION}.orig.tar.gz ci_build && git branch -m pristine-tar origin/pristine-tar
78 - git add debian && git commit -m "add debian/" 79 - git add debian && git commit -m "add debian/"
79 - export CI_COMMIT_SHA=$(git rev-parse HEAD) 80 - export CI_COMMIT_SHA=$(git rev-parse HEAD)
diff --git a/Makefile.in b/Makefile.in
index e065741f5..0285d8592 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -195,7 +195,7 @@ uninstall:
195 rm -f $(DESTDIR)/$(datarootdir)/bash-completion/completions/firecfg 195 rm -f $(DESTDIR)/$(datarootdir)/bash-completion/completions/firecfg
196 @echo "If you want to install a different version of firejail, you might also need to run 'rm -fr $(DESTDIR)/$(sysconfdir)/firejail', see #2038." 196 @echo "If you want to install a different version of firejail, you might also need to run 'rm -fr $(DESTDIR)/$(sysconfdir)/firejail', see #2038."
197 197
198DISTFILES = "src etc platform contrib configure configure.ac dummy.c Makefile.in install.sh mkman.sh mketc.sh mkdeb.sh mkdeb-apparmor.sh COPYING README RELNOTES" 198DISTFILES = "src etc m4 platform contrib configure configure.ac dummy.c Makefile.in install.sh mkman.sh mketc.sh mkdeb.sh mkdeb-apparmor.sh COPYING README RELNOTES"
199DISTFILES_TEST = "test/apps test/apps-x11 test/apps-x11-xorg test/root test/fcopy test/environment test/profiles test/utils test/compile test/filters test/network test/arguments test/fs test/sysutils test/chroot" 199DISTFILES_TEST = "test/apps test/apps-x11 test/apps-x11-xorg test/root test/fcopy test/environment test/profiles test/utils test/compile test/filters test/network test/arguments test/fs test/sysutils test/chroot"
200 200
201dist: 201dist:
diff --git a/README b/README
index 1a7f5cea0..0fe479a8c 100644
--- a/README
+++ b/README
@@ -53,7 +53,7 @@ Committers
53 53
54Firejail Authors (alphabetical order) 54Firejail Authors (alphabetical order)
55 55
567twin (https://github.com/7twin_ 567twin (https://github.com/7twin_)
57 - fix typos 57 - fix typos
58 - fix flameshot raw screenshots 58 - fix flameshot raw screenshots
591dnrr (https://github.com/1dnrr) 591dnrr (https://github.com/1dnrr)
@@ -565,6 +565,8 @@ PizzaDude (https://github.com/pizzadude)
565 - added profile for torbrowser-launcher 565 - added profile for torbrowser-launcher
566 - added profile for sayonara and qmmp 566 - added profile for sayonara and qmmp
567 - remove tracelog from Firefox profile 567 - remove tracelog from Firefox profile
568polyzen (https://github.com/polyzen)
569 - fixed wusc issue with mpv/Vulkan
568probonopd (https://github.com/probonopd) 570probonopd (https://github.com/probonopd)
569 - automatic build on Travis CI 571 - automatic build on Travis CI
570pshpsh (https://github.com/pshpsh) 572pshpsh (https://github.com/pshpsh)
diff --git a/etc/allow-ruby.inc b/etc/allow-ruby.inc
new file mode 100644
index 000000000..3165a981a
--- /dev/null
+++ b/etc/allow-ruby.inc
@@ -0,0 +1,2 @@
1noblacklist ${PATH}/ruby
2noblacklist /usr/lib/ruby
diff --git a/etc/aria2c.profile b/etc/aria2c.profile
index 72e577d56..2fb6dd25f 100644
--- a/etc/aria2c.profile
+++ b/etc/aria2c.profile
@@ -8,6 +8,8 @@ include globals.local
8 8
9noblacklist ${HOME}/.aria2 9noblacklist ${HOME}/.aria2
10 10
11blacklist /tmp/.X11-unix
12
11include disable-common.inc 13include disable-common.inc
12include disable-devel.inc 14include disable-devel.inc
13include disable-exec.inc 15include disable-exec.inc
@@ -39,7 +41,7 @@ private-bin aria2c,gzip
39# Uncomment the next line (or put 'private-cache' in your aria2c.local) if you don't use Lutris/winetricks (see issue #2772) 41# Uncomment the next line (or put 'private-cache' in your aria2c.local) if you don't use Lutris/winetricks (see issue #2772)
40#private-cache 42#private-cache
41private-dev 43private-dev
42private-etc alternatives,ca-certificates,crypto-policies,nsswitch.conf,pki,resolv.conf,ssl 44private-etc alternatives,ca-certificates,crypto-policies,groups,login.defs,machine-id,nsswitch.conf,passwd,pki,resolv.conf,ssl
43private-lib libreadline.so.* 45private-lib libreadline.so.*
44private-tmp 46private-tmp
45 47
diff --git a/etc/artha.profile b/etc/artha.profile
index f1d30a415..31f8887c4 100644
--- a/etc/artha.profile
+++ b/etc/artha.profile
@@ -7,22 +7,28 @@ include artha.local
7include globals.local 7include globals.local
8 8
9noblacklist ${HOME}/.config/artha.conf 9noblacklist ${HOME}/.config/artha.conf
10noblacklist ${HOME}/.config/artha.log
10noblacklist ${HOME}/.config/enchant 11noblacklist ${HOME}/.config/enchant
11 12
13blacklist /tmp/.X11-unix
14
12include disable-common.inc 15include disable-common.inc
13include disable-devel.inc 16include disable-devel.inc
14include disable-exec.inc 17include disable-exec.inc
15include disable-interpreters.inc 18include disable-interpreters.inc
16include disable-passwdmgr.inc 19include disable-passwdmgr.inc
17include disable-programs.inc 20include disable-programs.inc
21include disable-xdg.inc
18 22
19mkdir ${HOME}/.config/artha.conf 23# whitelisting in ${HOME} makes settings immutable, see #3112
20mkdir ${HOME}/.config/enchant 24#mkfile ${HOME}/.config/artha.conf
21whitelist ${HOME}/.config/artha.conf 25#mkdir ${HOME}/.config/enchant
22whitelist ${HOME}/.config/enchant 26#whitelist ${HOME}/.config/artha.conf
27#whitelist ${HOME}/.config/artha.log
28#whitelist ${HOME}/.config/enchant
23whitelist /usr/share/artha 29whitelist /usr/share/artha
24whitelist /usr/share/wordnet 30whitelist /usr/share/wordnet
25include whitelist-common.inc 31#include whitelist-common.inc
26include whitelist-usr-share-common.inc 32include whitelist-usr-share-common.inc
27include whitelist-var-common.inc 33include whitelist-var-common.inc
28 34
@@ -43,6 +49,7 @@ novideo
43protocol unix 49protocol unix
44seccomp 50seccomp
45shell none 51shell none
52tracelog
46 53
47disable-mnt 54disable-mnt
48private-bin artha,enchant,notify-send 55private-bin artha,enchant,notify-send
diff --git a/etc/baobab.profile b/etc/baobab.profile
index 79d4b23f9..e8287b448 100644
--- a/etc/baobab.profile
+++ b/etc/baobab.profile
@@ -16,7 +16,7 @@ include disable-passwdmgr.inc
16caps.drop all 16caps.drop all
17net none 17net none
18no3d 18no3d
19nodbus 19#nodbus
20nodvd 20nodvd
21nogroups 21nogroups
22nonewprivs 22nonewprivs
diff --git a/etc/barrier.profile b/etc/barrier.profile
new file mode 100644
index 000000000..a35bb1e09
--- /dev/null
+++ b/etc/barrier.profile
@@ -0,0 +1,45 @@
1# Firejail profile for barrier
2# Description: Keyboard and mouse sharing application
3# This file is overwritten after every install/update
4# Persistent local customizations
5include barrier.local
6# Persistent global definitions
7include globals.local
8
9noblacklist ${HOME}/.config/Debauchee/Barrier.conf
10noblacklist ${HOME}/.local/share/barrier
11noblacklist ${PATH}/openssl
12
13include disable-common.inc
14include disable-devel.inc
15include disable-exec.inc
16include disable-interpreters.inc
17include disable-passwdmgr.inc
18include disable-programs.inc
19include disable-xdg.inc
20
21include whitelist-var-common.inc
22
23caps.drop all
24machine-id
25netfilter
26no3d
27nodvd
28nogroups
29nonewprivs
30noroot
31nosound
32notv
33nou2f
34novideo
35protocol unix,inet,inet6,netlink
36seccomp
37shell none
38tracelog
39
40disable-mnt
41private-dev
42private-cache
43private-tmp
44
45memory-deny-write-execute
diff --git a/etc/celluloid.profile b/etc/celluloid.profile
index 6b7db6b44..ab68c7f13 100644
--- a/etc/celluloid.profile
+++ b/etc/celluloid.profile
@@ -29,7 +29,7 @@ include whitelist-var-common.inc
29apparmor 29apparmor
30caps.drop all 30caps.drop all
31netfilter 31netfilter
32nodbus 32# nodbus -- uses dconf
33nogroups 33nogroups
34nonewprivs 34nonewprivs
35noroot 35noroot
@@ -41,7 +41,7 @@ tracelog
41 41
42private-bin celluloid,env,gnome-mpv,python*,youtube-dl 42private-bin celluloid,env,gnome-mpv,python*,youtube-dl
43private-cache 43private-cache
44private-etc alternatives,ca-certificates,crypto-policies,dconf,drirc,fonts,gtk-3.0,hosts,libva.conf,localtime,machine-id,pkcs11,pki,resolv.conf,selinux,ssl,xdg 44private-etc alternatives,ca-certificates,crypto-policies,dconf,drirc,fonts,gtk-3.0,hosts,ld.so.cache,libva.conf,localtime,machine-id,pkcs11,pki,resolv.conf,selinux,ssl,xdg
45private-dev 45private-dev
46private-tmp 46private-tmp
47 47
diff --git a/etc/claws-mail.profile b/etc/claws-mail.profile
index 33c0a3369..f07e2039b 100644
--- a/etc/claws-mail.profile
+++ b/etc/claws-mail.profile
@@ -9,6 +9,9 @@ include globals.local
9noblacklist ${HOME}/.claws-mail 9noblacklist ${HOME}/.claws-mail
10noblacklist ${HOME}/.gnupg 10noblacklist ${HOME}/.gnupg
11noblacklist ${HOME}/.signature 11noblacklist ${HOME}/.signature
12# when storing mail outside the default ${HOME}/Mail path, 'noblacklist' the custom path in your claws-mail.local
13# and 'blacklist' it in your disable-common.local too so it is kept hidden from other applications
14noblacklist ${HOME}/Mail
12 15
13include disable-common.inc 16include disable-common.inc
14include disable-devel.inc 17include disable-devel.inc
@@ -16,7 +19,7 @@ include disable-interpreters.inc
16include disable-passwdmgr.inc 19include disable-passwdmgr.inc
17include disable-programs.inc 20include disable-programs.inc
18 21
19whitelist /usr/share/doc 22whitelist /usr/share/doc/claws-mail
20whitelist /usr/share/gnupg 23whitelist /usr/share/gnupg
21whitelist /usr/share/gnupg2 24whitelist /usr/share/gnupg2
22include whitelist-usr-share-common.inc 25include whitelist-usr-share-common.inc
diff --git a/etc/disable-common.inc b/etc/disable-common.inc
index 16f231108..f50e10a00 100644
--- a/etc/disable-common.inc
+++ b/etc/disable-common.inc
@@ -230,6 +230,7 @@ read-only ${HOME}/.bash_login
230read-only ${HOME}/.bash_logout 230read-only ${HOME}/.bash_logout
231read-only ${HOME}/.bash_profile 231read-only ${HOME}/.bash_profile
232read-only ${HOME}/.bashrc 232read-only ${HOME}/.bashrc
233read-only ${HOME}/.config/environment.d
233read-only ${HOME}/.config/fish 234read-only ${HOME}/.config/fish
234read-only ${HOME}/.csh_files 235read-only ${HOME}/.csh_files
235read-only ${HOME}/.cshrc 236read-only ${HOME}/.cshrc
diff --git a/etc/disable-programs.inc b/etc/disable-programs.inc
index b1605e757..1c97ed8d6 100644
--- a/etc/disable-programs.inc
+++ b/etc/disable-programs.inc
@@ -71,6 +71,7 @@ blacklist ${HOME}/.config/Code
71blacklist ${HOME}/.config/Code - OSS 71blacklist ${HOME}/.config/Code - OSS
72blacklist ${HOME}/.config/Code Industry 72blacklist ${HOME}/.config/Code Industry
73blacklist ${HOME}/.config/Cryptocat 73blacklist ${HOME}/.config/Cryptocat
74blacklist ${HOME}/.config/Debauchee/Barrier.conf
74blacklist ${HOME}/.config/Enox 75blacklist ${HOME}/.config/Enox
75blacklist ${HOME}/.config/Franz 76blacklist ${HOME}/.config/Franz
76blacklist ${HOME}/.config/FreeCAD 77blacklist ${HOME}/.config/FreeCAD
@@ -119,6 +120,7 @@ blacklist ${HOME}/.config/ardour4
119blacklist ${HOME}/.config/ardour5 120blacklist ${HOME}/.config/ardour5
120blacklist ${HOME}/.config/arkrc 121blacklist ${HOME}/.config/arkrc
121blacklist ${HOME}/.config/artha.conf 122blacklist ${HOME}/.config/artha.conf
123blacklist ${HOME}/.config/artha.log
122blacklist ${HOME}/.config/asunder 124blacklist ${HOME}/.config/asunder
123blacklist ${HOME}/.config/atril 125blacklist ${HOME}/.config/atril
124blacklist ${HOME}/.config/audacious 126blacklist ${HOME}/.config/audacious
@@ -487,6 +489,7 @@ blacklist ${HOME}/.local/share/apps/korganizer
487blacklist ${HOME}/.local/share/aspyr-media 489blacklist ${HOME}/.local/share/aspyr-media
488blacklist ${HOME}/.local/share/autokey 490blacklist ${HOME}/.local/share/autokey
489blacklist ${HOME}/.local/share/baloo 491blacklist ${HOME}/.local/share/baloo
492blacklist ${HOME}/.local/share/barrier
490blacklist ${HOME}/.local/share/bibletime 493blacklist ${HOME}/.local/share/bibletime
491blacklist ${HOME}/.local/share/caja-python 494blacklist ${HOME}/.local/share/caja-python
492blacklist ${HOME}/.local/share/cantata 495blacklist ${HOME}/.local/share/cantata
diff --git a/etc/evince.profile b/etc/evince.profile
index 0ace1dc3e..570d7d63d 100644
--- a/etc/evince.profile
+++ b/etc/evince.profile
@@ -46,7 +46,7 @@ tracelog
46private-bin evince,evince-previewer,evince-thumbnailer 46private-bin evince,evince-previewer,evince-thumbnailer
47private-cache 47private-cache
48private-dev 48private-dev
49private-etc alternatives,fonts,group,machine-id,passwd 49private-etc alternatives,fonts,group,ld.so.cache,machine-id,passwd
50# private-lib might break two-page-view on some systems 50# private-lib might break two-page-view on some systems
51private-lib evince,gconv,gdk-pixbuf-2.*,gio,gvfs/libgvfscommon.so,libdjvulibre.so.*,libgconf-2.so.*,libgraphite2.so.*,libpoppler-glib.so.*,librsvg-2.so.*,libspectre.so.* 51private-lib evince,gcc/*/*/libgcc_s.so.*,gcc/*/*/libstdc++.so.*,gconv,gdk-pixbuf-2.*,gio,gvfs/libgvfscommon.so,libdjvulibre.so.*,libgconf-2.so.*,libgraphite2.so.*,libpoppler-glib.so.*,librsvg-2.so.*,libspectre.so.*
52private-tmp 52private-tmp
diff --git a/etc/exiftool.profile b/etc/exiftool.profile
index e455d32c7..e9c7d290a 100644
--- a/etc/exiftool.profile
+++ b/etc/exiftool.profile
@@ -17,6 +17,7 @@ include disable-passwdmgr.inc
17include disable-programs.inc 17include disable-programs.inc
18 18
19whitelist /usr/share/perl5 19whitelist /usr/share/perl5
20whitelist /usr/share/perl-image-exiftool
20include whitelist-usr-share-common.inc 21include whitelist-usr-share-common.inc
21 22
22apparmor 23apparmor
diff --git a/etc/gedit.profile b/etc/gedit.profile
index 837396654..7dd6f270e 100644
--- a/etc/gedit.profile
+++ b/etc/gedit.profile
@@ -42,6 +42,6 @@ tracelog
42 42
43# private-bin gedit 43# private-bin gedit
44private-dev 44private-dev
45private-lib aspell,gconv,gedit,libgspell-1.so.*,libreadline.so.*,libtinfo.so.* 45private-lib aspell,gconv,gedit,libgspell-1.so.*,libgtksourceview-*,libpeas-gtk-1.0.so.*,libreadline.so.*,libtinfo.so.*
46private-tmp 46private-tmp
47 47
diff --git a/etc/gnome-builder.profile b/etc/gnome-builder.profile
index 726a74089..eaf48931d 100644
--- a/etc/gnome-builder.profile
+++ b/etc/gnome-builder.profile
@@ -31,5 +31,4 @@ protocol unix,inet,inet6
31seccomp 31seccomp
32shell none 32shell none
33 33
34private-cache
35private-dev 34private-dev
diff --git a/etc/gnome-maps.profile b/etc/gnome-maps.profile
index a625db948..78f5ddc3a 100644
--- a/etc/gnome-maps.profile
+++ b/etc/gnome-maps.profile
@@ -28,6 +28,7 @@ whitelist ${HOME}/.local/share/maps-places.json
28whitelist ${DOWNLOADS} 28whitelist ${DOWNLOADS}
29whitelist ${PICTURES} 29whitelist ${PICTURES}
30whitelist /usr/share/gnome-maps 30whitelist /usr/share/gnome-maps
31whitelist /usr/share/libgweather
31include whitelist-common.inc 32include whitelist-common.inc
32include whitelist-usr-share-common.inc 33include whitelist-usr-share-common.inc
33include whitelist-var-common.inc 34include whitelist-var-common.inc
@@ -55,4 +56,3 @@ private-bin gjs,gnome-maps
55private-dev 56private-dev
56private-etc alternatives,ca-certificates,clutter-1.0,crypto-policies,dconf,drirc,fonts,gconf,gcrypt,gtk-3.0,host.conf,hostname,hosts,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,mime.types,nsswitch.conf,pango,pkcs11,pki,protocols,resolv.conf,rpc,services,ssl,X11,xdg 57private-etc alternatives,ca-certificates,clutter-1.0,crypto-policies,dconf,drirc,fonts,gconf,gcrypt,gtk-3.0,host.conf,hostname,hosts,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,mime.types,nsswitch.conf,pango,pkcs11,pki,protocols,resolv.conf,rpc,services,ssl,X11,xdg
57private-tmp 58private-tmp
58
diff --git a/etc/hexchat.profile b/etc/hexchat.profile
index d032c93e6..7723cbd6b 100644
--- a/etc/hexchat.profile
+++ b/etc/hexchat.profile
@@ -19,6 +19,7 @@ include disable-exec.inc
19include disable-interpreters.inc 19include disable-interpreters.inc
20include disable-passwdmgr.inc 20include disable-passwdmgr.inc
21include disable-programs.inc 21include disable-programs.inc
22include disable-xdg.inc
22 23
23mkdir ${HOME}/.config/hexchat 24mkdir ${HOME}/.config/hexchat
24whitelist ${HOME}/.config/hexchat 25whitelist ${HOME}/.config/hexchat
@@ -26,14 +27,13 @@ include whitelist-common.inc
26include whitelist-var-common.inc 27include whitelist-var-common.inc
27 28
28caps.drop all 29caps.drop all
29machine-id 30#machine-id -- breaks sound
30netfilter 31netfilter
31no3d 32no3d
32nodvd 33nodvd
33nogroups 34nogroups
34nonewprivs 35nonewprivs
35noroot 36noroot
36nosound
37notv 37notv
38nou2f 38nou2f
39novideo 39novideo
diff --git a/etc/mpv.profile b/etc/mpv.profile
index 6e587fc6a..56cd66199 100644
--- a/etc/mpv.profile
+++ b/etc/mpv.profile
@@ -27,6 +27,7 @@ include disable-passwdmgr.inc
27include disable-programs.inc 27include disable-programs.inc
28include disable-xdg.inc 28include disable-xdg.inc
29 29
30whitelist /usr/share/vulkan
30include whitelist-usr-share-common.inc 31include whitelist-usr-share-common.inc
31include whitelist-var-common.inc 32include whitelist-var-common.inc
32 33
diff --git a/etc/mupdf.profile b/etc/mupdf.profile
index 673c9fd0b..99945bdc9 100644
--- a/etc/mupdf.profile
+++ b/etc/mupdf.profile
@@ -32,14 +32,13 @@ nou2f
32novideo 32novideo
33protocol unix 33protocol unix
34seccomp 34seccomp
35# seccomp.keep access,arch_prctl,brk,clone,close,connect,execve,exit_group,fchmod,fchown,fcntl,fstat,futex,getcwd,getpeername,getrlimit,getsockname,getsockopt,lseek,lstat,mlock,mmap,mprotect,mremap,munmap,nanosleep,open,poll,prctl,read,recvfrom,recvmsg,restart_syscall,rt_sigaction,rt_sigprocmask,select,sendmsg,set_robust_list,set_tid_address,setresgid,setresuid,shmat,shmctl,shmget,shutdown,socket,stat,sysinfo,uname,unshare,wait4,write,writev
36shell none 35shell none
37tracelog 36tracelog
38 37
39# private-bin mupdf,rm,sh,tempfile 38# private-bin mupdf,rm,sh,tempfile
40private-dev 39private-dev
41private-etc alternatives,fonts 40private-etc alternatives,fonts,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload
42private-tmp 41private-tmp
43 42
44memory-deny-write-execute 43# memory-deny-write-execute
45read-only ${HOME} 44read-only ${HOME}
diff --git a/etc/neverputt.profile b/etc/neverputt.profile
index 93fb14e07..d370d1218 100644
--- a/etc/neverputt.profile
+++ b/etc/neverputt.profile
@@ -5,5 +5,7 @@ include neverputt.local
5# added by included profile 5# added by included profile
6#include globals.local 6#include globals.local
7 7
8private-bin neverputt
9
8# Redirect 10# Redirect
9include neverball.profile 11include neverball.profile
diff --git a/etc/openshot.profile b/etc/openshot.profile
index 0222243ed..116cb56e4 100644
--- a/etc/openshot.profile
+++ b/etc/openshot.profile
@@ -24,7 +24,7 @@ include whitelist-var-common.inc
24 24
25apparmor 25apparmor
26caps.drop all 26caps.drop all
27netfilter 27net none
28nodbus 28nodbus
29nodvd 29nodvd
30nogroups 30nogroups
@@ -32,9 +32,10 @@ nonewprivs
32noroot 32noroot
33notv 33notv
34nou2f 34nou2f
35protocol unix,inet,inet6,netlink 35protocol unix,netlink
36seccomp 36seccomp
37shell none 37shell none
38tracelog
38 39
39private-dev 40private-dev
40private-tmp 41private-tmp
diff --git a/etc/pavucontrol.profile b/etc/pavucontrol.profile
index 5bbe1386f..0ae9f08af 100644
--- a/etc/pavucontrol.profile
+++ b/etc/pavucontrol.profile
@@ -16,11 +16,12 @@ include disable-passwdmgr.inc
16include disable-programs.inc 16include disable-programs.inc
17include disable-xdg.inc 17include disable-xdg.inc
18 18
19mkfile ${HOME}/.config/pavucontrol.ini 19# whitelisting in ${HOME} is broken, see #3112
20whitelist ${HOME}/.config/pavucontrol.ini 20#mkfile ${HOME}/.config/pavucontrol.ini
21#whitelist ${HOME}/.config/pavucontrol.ini
21whitelist /usr/share/pavucontrol 22whitelist /usr/share/pavucontrol
22whitelist /usr/share/pavucontrol-qt 23whitelist /usr/share/pavucontrol-qt
23include whitelist-common.inc 24#include whitelist-common.inc
24include whitelist-usr-share-common.inc 25include whitelist-usr-share-common.inc
25include whitelist-var-common.inc 26include whitelist-var-common.inc
26 27
@@ -39,6 +40,7 @@ novideo
39protocol unix,inet,inet6 40protocol unix,inet,inet6
40seccomp 41seccomp
41shell none 42shell none
43tracelog
42 44
43disable-mnt 45disable-mnt
44private-bin pavucontrol 46private-bin pavucontrol
@@ -48,4 +50,5 @@ private-etc alternatives,asound.conf,avahi,fonts,machine-id,pulse
48private-lib 50private-lib
49private-tmp 51private-tmp
50 52
51#memory-deny-write-execute - breaks on Arch (see issue #1803) 53# mdwe is broken under Wayland, but works under Xorg.
54#memory-deny-write-execute
diff --git a/etc/qutebrowser.profile b/etc/qutebrowser.profile
index 95c189458..fc910b589 100644
--- a/etc/qutebrowser.profile
+++ b/etc/qutebrowser.profile
@@ -36,5 +36,5 @@ noroot
36notv 36notv
37protocol unix,inet,inet6,netlink 37protocol unix,inet,inet6,netlink
38# blacklisting of chroot system calls breaks qt webengine 38# blacklisting of chroot system calls breaks qt webengine
39seccomp !chroot 39seccomp !chroot,!name_to_handle_at
40# tracelog 40# tracelog
diff --git a/etc/sylpheed.profile b/etc/sylpheed.profile
index 64de64eb4..8e99fe1d6 100644
--- a/etc/sylpheed.profile
+++ b/etc/sylpheed.profile
@@ -4,29 +4,17 @@
4# Persistent local customizations 4# Persistent local customizations
5include sylpheed.local 5include sylpheed.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7# added by included profile
8#include globals.local
8 9
9noblacklist ${HOME}/.sylpheed-2.0 10noblacklist ${HOME}/.sylpheed-2.0
11# when storing mail outside the default ${HOME}/Mail path, 'noblacklist' the custom path in your sylpheed.local
12# and 'blacklist' it in your disable-common.local too so it is kept hidden from other applications
10 13
11include disable-common.inc 14blacklist ${HOME}/.claws-mail
12include disable-devel.inc
13include disable-interpreters.inc
14include disable-passwdmgr.inc
15include disable-programs.inc
16 15
17caps.drop all 16nowhitelist /usr/share/doc/claws-mail
18netfilter 17whitelist /usr/share/sylpheed
19nodvd
20nogroups
21nonewprivs
22noroot
23nosound
24notv
25nou2f
26novideo
27protocol unix,inet,inet6
28seccomp
29shell none
30 18
31private-dev 19# Redirect
32private-tmp 20include claws-mail.profile
diff --git a/etc/templates/profile.template b/etc/templates/profile.template
index dcf6dd201..7bfc3cf0d 100644
--- a/etc/templates/profile.template
+++ b/etc/templates/profile.template
@@ -87,6 +87,9 @@ include globals.local
87# Allow lua (blacklisted by disable-interpreters.inc) 87# Allow lua (blacklisted by disable-interpreters.inc)
88#include allow-lua.inc 88#include allow-lua.inc
89 89
90# Allow ruby (blacklisted by disable-interpreters.inc)
91#include allow-ruby.inc
92
90# Allows files commonly used by IDEs 93# Allows files commonly used by IDEs
91#include allow-common-devel.inc 94#include allow-common-devel.inc
92 95
diff --git a/etc/torbrowser-launcher.profile b/etc/torbrowser-launcher.profile
index 1183cd2f7..be03afdb5 100644
--- a/etc/torbrowser-launcher.profile
+++ b/etc/torbrowser-launcher.profile
@@ -48,7 +48,7 @@ shell none
48#tracelog 48#tracelog
49 49
50disable-mnt 50disable-mnt
51private-bin bash,cat,cp,cut,dirname,env,expr,file,gpg,grep,gxmessage,kdialog,ln,mkdir,mv,python*,rm,sed,sh,tail,tar,tclsh,test,tor-browser,tor-browser-en,torbrowser-launcher,update-desktop-database,xmessage,xz,zenity 51private-bin bash,cat,cp,cut,dirname,env,expr,file,gpg,grep,gxmessage,id,kdialog,ln,mkdir,mv,python*,rm,sed,sh,tail,tar,tclsh,test,tor-browser,tor-browser-en,torbrowser-launcher,update-desktop-database,xmessage,xz,zenity
52private-dev 52private-dev
53private-etc alsa,alternatives,asound.conf,ca-certificates,crypto-policies,fonts,ld.so.cache,machine-id,pki,pulse,resolv.conf,ssl 53private-etc alsa,alternatives,asound.conf,ca-certificates,crypto-policies,fonts,ld.so.cache,machine-id,pki,pulse,resolv.conf,ssl
54private-tmp 54private-tmp
diff --git a/etc/weechat.profile b/etc/weechat.profile
index a94275c2c..cc340124d 100644
--- a/etc/weechat.profile
+++ b/etc/weechat.profile
@@ -11,6 +11,7 @@ noblacklist ${HOME}/.weechat
11include disable-common.inc 11include disable-common.inc
12include disable-programs.inc 12include disable-programs.inc
13 13
14whitelist /usr/share/perl5
14include whitelist-usr-share-common.inc 15include whitelist-usr-share-common.inc
15 16
16caps.drop all 17caps.drop all
diff --git a/etc/wget.profile b/etc/wget.profile
index 4bf354652..c1f7dfc3f 100644
--- a/etc/wget.profile
+++ b/etc/wget.profile
@@ -7,18 +7,28 @@ include wget.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10noblacklist ${HOME}/.netrc
10noblacklist ${HOME}/.wget-hsts 11noblacklist ${HOME}/.wget-hsts
11noblacklist ${HOME}/.wgetrc 12noblacklist ${HOME}/.wgetrc
12 13
14blacklist /tmp/.X11-unix
15
13include disable-common.inc 16include disable-common.inc
17include disable-devel.inc
14include disable-exec.inc 18include disable-exec.inc
19include disable-interpreters.inc
15include disable-passwdmgr.inc 20include disable-passwdmgr.inc
16include disable-programs.inc 21include disable-programs.inc
22# depending on workflow you can uncomment the below or put 'include disable-xdg.inc' in your wget.local
23#include disable-xdg.inc
17 24
18include whitelist-usr-share-common.inc 25include whitelist-usr-share-common.inc
19include whitelist-var-common.inc 26include whitelist-var-common.inc
20 27
21caps.drop all 28caps.drop all
29ipc-namespace
30machine-id
31nodbus
22netfilter 32netfilter
23no3d 33no3d
24nodvd 34nodvd
@@ -32,9 +42,13 @@ novideo
32protocol unix,inet,inet6 42protocol unix,inet,inet6
33seccomp 43seccomp
34shell none 44shell none
45tracelog
35 46
36# private-bin wget 47private-bin wget
48private-cache
37private-dev 49private-dev
38# private-etc alternatives,ca-certificates,crypto-policie,pki,resolv.conf,ssl 50# depending on workflow you can uncomment the below or put this private-etc in your wget.local
39# private-tmp 51#private-etc alternatives,ca-certificates,crypto-policies,pki,resolv.conf,ssl,wgetrc
52#private-tmp
40 53
54memory-deny-write-execute
diff --git a/etc/whois.profile b/etc/whois.profile
index fed3709e5..bd0870bea 100644
--- a/etc/whois.profile
+++ b/etc/whois.profile
@@ -7,19 +7,23 @@ include whois.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10blacklist /tmp/.X11-unix
11
10include disable-common.inc 12include disable-common.inc
11# include disable-devel.inc 13include disable-devel.inc
12include disable-exec.inc 14include disable-exec.inc
13# include disable-interpreters.inc 15include disable-interpreters.inc
14include disable-passwdmgr.inc 16include disable-passwdmgr.inc
15include disable-programs.inc 17include disable-programs.inc
16#include disable-xdg.inc 18include disable-xdg.inc
17 19
18include whitelist-usr-share-common.inc 20include whitelist-usr-share-common.inc
19include whitelist-var-common.inc 21include whitelist-var-common.inc
20 22
21caps.drop all 23caps.drop all
22# ipc-namespace 24hostname whois
25ipc-namespace
26machine-id
23netfilter 27netfilter
24no3d 28no3d
25nodbus 29nodbus
@@ -34,13 +38,14 @@ novideo
34protocol inet,inet6 38protocol inet,inet6
35seccomp 39seccomp
36shell none 40shell none
41tracelog
37 42
38disable-mnt 43disable-mnt
39private 44private
40private-bin bash,sh,whois 45private-bin bash,sh,whois
41private-cache 46private-cache
42private-dev 47private-dev
43# private-etc alternatives,hosts,services,whois.conf 48private-etc alternatives,hosts,jwhois.conf,services,whois.conf
44private-lib 49private-lib
45private-tmp 50private-tmp
46 51
diff --git a/etc/youtube-dl.profile b/etc/youtube-dl.profile
index 74c07d96b..5fa72c9dc 100644
--- a/etc/youtube-dl.profile
+++ b/etc/youtube-dl.profile
@@ -56,7 +56,7 @@ tracelog
56private-bin env,ffmpeg,python*,youtube-dl 56private-bin env,ffmpeg,python*,youtube-dl
57private-cache 57private-cache
58private-dev 58private-dev
59private-etc alternatives,ca-certificates,crypto-policies,hostname,hosts,mime.types,pki,resolv.conf,ssl,youtube-dl.conf 59private-etc alternatives,ca-certificates,crypto-policies,hostname,hosts,ld.so.cache,mime.types,pki,resolv.conf,ssl,youtube-dl.conf
60private-tmp 60private-tmp
61 61
62#memory-deny-write-execute - breaks on Arch (see issue #1803) 62#memory-deny-write-execute - breaks on Arch (see issue #1803)
diff --git a/src/firecfg/firecfg.config b/src/firecfg/firecfg.config
index 96a755904..011d6c7e1 100644
--- a/src/firecfg/firecfg.config
+++ b/src/firecfg/firecfg.config
@@ -67,6 +67,7 @@ aweather
67baloo_file 67baloo_file
68baloo_filemetadata_temp_extractor 68baloo_filemetadata_temp_extractor
69baobab 69baobab
70barrier
70basilisk 71basilisk
71beaker 72beaker
72bibletime 73bibletime
diff --git a/src/man/firejail.txt b/src/man/firejail.txt
index 47f5ecbdf..32ac07d72 100644
--- a/src/man/firejail.txt
+++ b/src/man/firejail.txt
@@ -1772,7 +1772,7 @@ system call groups are defined: @aio, @basic-io, @chown, @clock,
1772@file-system, @io-event, @ipc, @keyring, @memlock, @module, @mount, 1772@file-system, @io-event, @ipc, @keyring, @memlock, @module, @mount,
1773@network-io, @obsolete, @privileged, @process, @raw-io, @reboot, 1773@network-io, @obsolete, @privileged, @process, @raw-io, @reboot,
1774@resources, @setuid, @swap, @sync, @system-service and @timer. 1774@resources, @setuid, @swap, @sync, @system-service and @timer.
1775More informations about groups can be found in /usr/share/doc/firejail/syscalls.txt 1775More information about groups can be found in /usr/share/doc/firejail/syscalls.txt
1776 1776
1777In addition, a system call can be specified by its number instead of 1777In addition, a system call can be specified by its number instead of
1778name with prefix $, so for example $165 would be equal to mount on i386. 1778name with prefix $, so for example $165 would be equal to mount on i386.
diff --git a/test/fs/whitelist-dev.exp b/test/fs/whitelist-dev.exp
index 1df8c361c..09448e03a 100755
--- a/test/fs/whitelist-dev.exp
+++ b/test/fs/whitelist-dev.exp
@@ -23,17 +23,17 @@ after 100
23send -- "exit\r" 23send -- "exit\r"
24sleep 1 24sleep 1
25 25
26send -- "firejail --whitelist=/dev/null --whitelist=/dev/shm --whitelist=/dev/random\r" 26send -- "firejail --whitelist=/dev/null --whitelist=/dev/random\r"
27expect { 27expect {
28 timeout {puts "TESTING ERROR 2\n";exit} 28 timeout {puts "TESTING ERROR 2\n";exit}
29 "Child process initialized" 29 "Child process initialized"
30} 30}
31sleep 1 31sleep 1
32 32
33send -- "find /dev | wc -l\r" 33send -- "ls /dev | wc -l\r"
34expect { 34expect {
35 timeout {puts "TESTING ERROR 3\n";exit} 35 timeout {puts "TESTING ERROR 3\n";exit}
36 "1" 36 "2"
37} 37}
38after 100 38after 100
39send -- "exit\r" 39send -- "exit\r"
diff --git a/test/utils/audit.exp b/test/utils/audit.exp
index 49d08d22d..15400da31 100755
--- a/test/utils/audit.exp
+++ b/test/utils/audit.exp
@@ -32,6 +32,10 @@ expect {
32 timeout {puts "TESTING ERROR 5\n";exit} 32 timeout {puts "TESTING ERROR 5\n";exit}
33 "dev directory seems to be fully populated" 33 "dev directory seems to be fully populated"
34} 34}
35expect {
36 timeout {puts "TESTING ERROR 5.1\n";exit}
37 "Parent is shutting down, bye..."
38}
35after 100 39after 100
36 40
37 41
@@ -60,6 +64,10 @@ expect {
60 timeout {puts "TESTING ERROR 11\n";exit} 64 timeout {puts "TESTING ERROR 11\n";exit}
61 "dev directory seems to be fully populated" 65 "dev directory seems to be fully populated"
62} 66}
67expect {
68 timeout {puts "TESTING ERROR 11.1\n";exit}
69 "Parent is shutting down, bye..."
70}
63after 100 71after 100
64 72
65send -- "firejail --audit=blablabla\r" 73send -- "firejail --audit=blablabla\r"
diff --git a/test/utils/shutdown.exp b/test/utils/shutdown.exp
index eb691bbf8..0d5ec5d63 100755
--- a/test/utils/shutdown.exp
+++ b/test/utils/shutdown.exp
@@ -41,7 +41,7 @@ expect {
41} 41}
42after 100 42after 100
43 43
44send -- "firejail --shutdown=10\r" 44send -- "firejail --shutdown=1\r"
45expect { 45expect {
46 timeout {puts "TESTING ERROR 5\n";exit} 46 timeout {puts "TESTING ERROR 5\n";exit}
47 "this is not a firejail sandbox" 47 "this is not a firejail sandbox"