aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README5
-rw-r--r--README.md34
-rw-r--r--RELNOTES5
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--etc/QMediathekView.profile54
-rw-r--r--etc/disable-programs.inc2
-rw-r--r--etc/file.profile4
-rw-r--r--src/firecfg/firecfg.config1
-rw-r--r--src/firejail/firejail.h2
-rw-r--r--src/firejail/fs.c22
-rw-r--r--src/firejail/sandbox.c6
12 files changed, 133 insertions, 22 deletions
diff --git a/README b/README
index ba29905f0..c3a046ead 100644
--- a/README
+++ b/README
@@ -33,14 +33,15 @@ Maintainer:
33- netblue30 (netblue30@yahoo.com) 33- netblue30 (netblue30@yahoo.com)
34 34
35Committers 35Committers
36- chiraag-nataraj (https://github.com/chiraag-nataraj)
37- crass (https://github.com/crass)
36- Fred-Barclay (https://github.com/Fred-Barclay) 38- Fred-Barclay (https://github.com/Fred-Barclay)
37- Reiner Herrmann (https://github.com/reinerh - Debian/Ubuntu maintainer) 39- Reiner Herrmann (https://github.com/reinerh - Debian/Ubuntu maintainer)
38- smithsohu (https://github.com/smitsohu) 40- smithsohu (https://github.com/smitsohu)
39- SkewedZeppelin (https://github.com/SkewedZeppelin) 41- SkewedZeppelin (https://github.com/SkewedZeppelin)
40- startx2017 (https://github.com/startx2017) - 0.9.38-LTS and *bugfixes branches maintainer) 42- startx2017 (https://github.com/startx2017) - LTS and *bugfixes branches maintainer)
41- Topi Miettinen (https://github.com/topimiettinen) 43- Topi Miettinen (https://github.com/topimiettinen)
42- Vincent43 (https://github.com/Vincent43) 44- Vincent43 (https://github.com/Vincent43)
43- chiraag-nataraj (https://github.com/chiraag-nataraj)
44- netblue30 (netblue30@yahoo.com) 45- netblue30 (netblue30@yahoo.com)
45 46
46 47
diff --git a/README.md b/README.md
index 0c3cd38bb..e5b38827d 100644
--- a/README.md
+++ b/README.md
@@ -98,4 +98,36 @@ We also keep a list of profile fixes for previous released versions in [etc-fixe
98````` 98`````
99 99
100````` 100`````
101# Current development version: 0.9.57 101# Current development version: 0.9.56.1
102
103This is probably a bugfix release: fixes, small features, new profiles. If we end up implementing something major
104we'll switch to a regular 0.9.57 release.
105
106# New Long Term Support (LTS) version
107
108We are rebasing our Long Term Support branch of Firejail. The current LTS version (0.9.38.x) is more than two years old.
109The new version updates the code base to 0.9.56. We target a reduction of approx. 40% of the code by removing rarely
110used features (chroot, overlay, rlimits, cgroups), incomplete features (private-bin, private-lib),
111and a lot of instrumentation (build profile feature, tracing, auditing, etc). Sandbox-specific security features such as
112seccomp, capabilities, filesystem whitelist/blacklist and networking are updated and hardened.
113
114We have an rc1 release out, the final version will follow in the next few weeks:
115`````
116firejail (0.9.56-LTS~rc1) baseline; urgency=low
117 * code based on Firejail version 0.9.56
118 * much smaller code base for SUID executable
119 * command line options removed:
120 --audit, --build, --cgroup, --chroot, --get, --ls, --output,
121 --output-stderr, --overlay, --overlay-named, --overlay-tmpfs,
122 --overlay-clean, --private-home, --private-bin, --private-etc,
123 --private-opt, --private-srv, --put, --rlimit*, --trace, --tracelog,
124 --x11*, --xephyr*
125 * compile-time options: --enable-apparmor, --disable-seccomp,
126 --disable-globalcfg, --disable-network, --disable-userns,
127 --disable-whitelist, --disable-suid, --enable-fatal-warnings,
128 --enable-busybox-workaround
129 -- netblue30 <netblue30@yahoo.com> Wed, 3 Oct 2018 08:00:00 -0500
130`````
131
132The new LTS branch is here: https://github.com/netblue30/firejail/tree/LTSbase
133
diff --git a/RELNOTES b/RELNOTES
index 98398e51f..e3e3cdf35 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,8 @@
1firejail (0.9.56.1) baseline; urgency=low
2 * work in progress
3 * --disable-mnt rework
4 -- netblue30 <netblue30@yahoo.com> Thu, 11 Oct 2018 08:00:00 -0500
5
1firejail (0.9.56) baseline; urgency=low 6firejail (0.9.56) baseline; urgency=low
2 * modif: removed CFG_CHROOT_DESKTOP configuration option 7 * modif: removed CFG_CHROOT_DESKTOP configuration option
3 * modif: removed compile time --enable-network=restricted 8 * modif: removed compile time --enable-network=restricted
diff --git a/configure b/configure
index a7ef3a392..9e117dcbe 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2# Guess values for system-dependent variables and create Makefiles. 2# Guess values for system-dependent variables and create Makefiles.
3# Generated by GNU Autoconf 2.69 for firejail 0.9.57. 3# Generated by GNU Autoconf 2.69 for firejail 0.9.56.1.
4# 4#
5# Report bugs to <netblue30@yahoo.com>. 5# Report bugs to <netblue30@yahoo.com>.
6# 6#
@@ -580,8 +580,8 @@ MAKEFLAGS=
580# Identity of this package. 580# Identity of this package.
581PACKAGE_NAME='firejail' 581PACKAGE_NAME='firejail'
582PACKAGE_TARNAME='firejail' 582PACKAGE_TARNAME='firejail'
583PACKAGE_VERSION='0.9.57' 583PACKAGE_VERSION='0.9.56.1'
584PACKAGE_STRING='firejail 0.9.57' 584PACKAGE_STRING='firejail 0.9.56.1'
585PACKAGE_BUGREPORT='netblue30@yahoo.com' 585PACKAGE_BUGREPORT='netblue30@yahoo.com'
586PACKAGE_URL='https://firejail.wordpress.com' 586PACKAGE_URL='https://firejail.wordpress.com'
587 587
@@ -1275,7 +1275,7 @@ if test "$ac_init_help" = "long"; then
1275 # Omit some internal or obsolete options to make the list less imposing. 1275 # Omit some internal or obsolete options to make the list less imposing.
1276 # This message is too long to be a string in the A/UX 3.1 sh. 1276 # This message is too long to be a string in the A/UX 3.1 sh.
1277 cat <<_ACEOF 1277 cat <<_ACEOF
1278\`configure' configures firejail 0.9.57 to adapt to many kinds of systems. 1278\`configure' configures firejail 0.9.56.1 to adapt to many kinds of systems.
1279 1279
1280Usage: $0 [OPTION]... [VAR=VALUE]... 1280Usage: $0 [OPTION]... [VAR=VALUE]...
1281 1281
@@ -1337,7 +1337,7 @@ fi
1337 1337
1338if test -n "$ac_init_help"; then 1338if test -n "$ac_init_help"; then
1339 case $ac_init_help in 1339 case $ac_init_help in
1340 short | recursive ) echo "Configuration of firejail 0.9.57:";; 1340 short | recursive ) echo "Configuration of firejail 0.9.56.1:";;
1341 esac 1341 esac
1342 cat <<\_ACEOF 1342 cat <<\_ACEOF
1343 1343
@@ -1442,7 +1442,7 @@ fi
1442test -n "$ac_init_help" && exit $ac_status 1442test -n "$ac_init_help" && exit $ac_status
1443if $ac_init_version; then 1443if $ac_init_version; then
1444 cat <<\_ACEOF 1444 cat <<\_ACEOF
1445firejail configure 0.9.57 1445firejail configure 0.9.56.1
1446generated by GNU Autoconf 2.69 1446generated by GNU Autoconf 2.69
1447 1447
1448Copyright (C) 2012 Free Software Foundation, Inc. 1448Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1744,7 +1744,7 @@ cat >config.log <<_ACEOF
1744This file contains any messages produced by compilers while 1744This file contains any messages produced by compilers while
1745running configure, to aid debugging if configure makes a mistake. 1745running configure, to aid debugging if configure makes a mistake.
1746 1746
1747It was created by firejail $as_me 0.9.57, which was 1747It was created by firejail $as_me 0.9.56.1, which was
1748generated by GNU Autoconf 2.69. Invocation command line was 1748generated by GNU Autoconf 2.69. Invocation command line was
1749 1749
1750 $ $0 $@ 1750 $ $0 $@
@@ -4379,7 +4379,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
4379# report actual input values of CONFIG_FILES etc. instead of their 4379# report actual input values of CONFIG_FILES etc. instead of their
4380# values after options handling. 4380# values after options handling.
4381ac_log=" 4381ac_log="
4382This file was extended by firejail $as_me 0.9.57, which was 4382This file was extended by firejail $as_me 0.9.56.1, which was
4383generated by GNU Autoconf 2.69. Invocation command line was 4383generated by GNU Autoconf 2.69. Invocation command line was
4384 4384
4385 CONFIG_FILES = $CONFIG_FILES 4385 CONFIG_FILES = $CONFIG_FILES
@@ -4433,7 +4433,7 @@ _ACEOF
4433cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 4433cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
4434ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 4434ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
4435ac_cs_version="\\ 4435ac_cs_version="\\
4436firejail config.status 0.9.57 4436firejail config.status 0.9.56.1
4437configured by $0, generated by GNU Autoconf 2.69, 4437configured by $0, generated by GNU Autoconf 2.69,
4438 with options \\"\$ac_cs_config\\" 4438 with options \\"\$ac_cs_config\\"
4439 4439
diff --git a/configure.ac b/configure.ac
index d1b827fef..2084b66f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
1AC_PREREQ([2.68]) 1AC_PREREQ([2.68])
2AC_INIT(firejail, 0.9.57, netblue30@yahoo.com, , https://firejail.wordpress.com) 2AC_INIT(firejail, 0.9.56.1, netblue30@yahoo.com, , https://firejail.wordpress.com)
3AC_CONFIG_SRCDIR([src/firejail/main.c]) 3AC_CONFIG_SRCDIR([src/firejail/main.c])
4#AC_CONFIG_HEADERS([config.h]) 4#AC_CONFIG_HEADERS([config.h])
5 5
diff --git a/etc/QMediathekView.profile b/etc/QMediathekView.profile
new file mode 100644
index 000000000..558f62f0e
--- /dev/null
+++ b/etc/QMediathekView.profile
@@ -0,0 +1,54 @@
1# Firejail profile for QMediathekView
2# Description: Search, download or stream files from mediathek.de
3# This file is overwritten after every install/update
4# Persistent local customizations
5include /etc/firejail/QMediathekView.local
6# Persistent global definitions
7include /etc/firejail/globals.local
8
9noblacklist ${HOME}/.config/QMediathekView
10noblacklist ${HOME}/.local/share/QMediathekView
11
12noblacklist ${HOME}/.config/mpv
13noblacklist ${HOME}/.config/smplayer
14noblacklist ${HOME}/.config/totem
15noblacklist ${HOME}/.config/vlc
16noblacklist ${HOME}/.config/xplayer
17noblacklist ${HOME}/.local/share/totem
18noblacklist ${HOME}/.local/share/xplayer
19noblacklist ${HOME}/.mplayer
20
21include /etc/firejail/disable-common.inc
22include /etc/firejail/disable-devel.inc
23include /etc/firejail/disable-interpreters.inc
24include /etc/firejail/disable-passwdmgr.inc
25include /etc/firejail/disable-programs.inc
26
27include /etc/firejail/whitelist-var-common.inc
28
29caps.drop all
30netfilter
31# no3d
32# nodbus
33nodvd
34nogroups
35nonewprivs
36noroot
37notv
38nou2f
39protocol unix,inet,inet6
40seccomp
41shell none
42tracelog
43
44disable-mnt
45private-bin QMediathekView,mplayer,mpv,smplayer,totem,vlc,xplayer
46private-cache
47private-dev
48# private-etc none
49# private-lib
50private-tmp
51
52# memory-deny-write-execute - breaks on Arch
53noexec ${HOME}
54noexec /tmp
diff --git a/etc/disable-programs.inc b/etc/disable-programs.inc
index 1213e4f24..15499930d 100644
--- a/etc/disable-programs.inc
+++ b/etc/disable-programs.inc
@@ -70,6 +70,7 @@ blacklist ${HOME}/.config/MuseScore
70blacklist ${HOME}/.config/MusicBrainz 70blacklist ${HOME}/.config/MusicBrainz
71blacklist ${HOME}/.config/Nylas Mail 71blacklist ${HOME}/.config/Nylas Mail
72blacklist ${HOME}/.config/Qlipper 72blacklist ${HOME}/.config/Qlipper
73blacklist ${HOME}/.config/QMediathekView
73blacklist ${HOME}/.config/QuiteRss 74blacklist ${HOME}/.config/QuiteRss
74blacklist ${HOME}/.config/QuiteRssrc 75blacklist ${HOME}/.config/QuiteRssrc
75blacklist ${HOME}/.config/Rambox 76blacklist ${HOME}/.config/Rambox
@@ -360,6 +361,7 @@ blacklist ${HOME}/.local/share/3909/PapersPlease
360blacklist ${HOME}/.local/share/Empathy 361blacklist ${HOME}/.local/share/Empathy
361blacklist ${HOME}/.local/share/JetBrains 362blacklist ${HOME}/.local/share/JetBrains
362blacklist ${HOME}/.local/share/Mumble 363blacklist ${HOME}/.local/share/Mumble
364blacklist ${HOME}/.local/share/QMediathekView
363blacklist ${HOME}/.local/share/QuiteRss 365blacklist ${HOME}/.local/share/QuiteRss
364blacklist ${HOME}/.local/share/Ricochet 366blacklist ${HOME}/.local/share/Ricochet
365blacklist ${HOME}/.local/share/Steam 367blacklist ${HOME}/.local/share/Steam
diff --git a/etc/file.profile b/etc/file.profile
index 5d1227520..00e18de20 100644
--- a/etc/file.profile
+++ b/etc/file.profile
@@ -30,10 +30,12 @@ shell none
30tracelog 30tracelog
31x11 none 31x11 none
32 32
33private-bin file 33#private-bin file
34private-cache
34private-dev 35private-dev
35private-etc magic.mgc,magic,localtime 36private-etc magic.mgc,magic,localtime
36private-lib 37private-lib
38private-tmp
37 39
38memory-deny-write-execute 40memory-deny-write-execute
39noexec ${HOME} 41noexec ${HOME}
diff --git a/src/firecfg/firecfg.config b/src/firecfg/firecfg.config
index 746c70c53..1146e2d13 100644
--- a/src/firecfg/firecfg.config
+++ b/src/firecfg/firecfg.config
@@ -13,6 +13,7 @@ Fritzing
13JDownloader 13JDownloader
14Mathematica 14Mathematica
15Natron 15Natron
16QMediathekView
16Telegram 17Telegram
17Viber 18Viber
18VirtualBox 19VirtualBox
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h
index 40155b155..1d74dc8dc 100644
--- a/src/firejail/firejail.h
+++ b/src/firejail/firejail.h
@@ -453,7 +453,7 @@ void fs_chroot(const char *rootdir);
453void fs_check_chroot_dir(const char *rootdir); 453void fs_check_chroot_dir(const char *rootdir);
454void fs_private_tmp(void); 454void fs_private_tmp(void);
455void fs_private_cache(void); 455void fs_private_cache(void);
456void fs_mnt(void); 456void fs_mnt(const int enforce);
457 457
458// profile.c 458// profile.c
459// find and read the profile specified by name from dir directory 459// find and read the profile specified by name from dir directory
diff --git a/src/firejail/fs.c b/src/firejail/fs.c
index 83830cff6..b958df81a 100644
--- a/src/firejail/fs.c
+++ b/src/firejail/fs.c
@@ -545,11 +545,23 @@ void fs_noexec(const char *dir) {
545} 545}
546 546
547// Disable /mnt, /media, /run/mount and /run/media access 547// Disable /mnt, /media, /run/mount and /run/media access
548void fs_mnt(void) { 548void fs_mnt(const int enforce) {
549 disable_file(BLACKLIST_FILE, "/mnt"); 549 if (enforce) {
550 disable_file(BLACKLIST_FILE, "/media"); 550 // disable-mnt set in firejail.config
551 disable_file(BLACKLIST_FILE, "/run/mount"); 551 // overriding with noblacklist is not possible in this case
552 disable_file(BLACKLIST_FILE, "//run/media"); 552 disable_file(BLACKLIST_FILE, "/mnt");
553 disable_file(BLACKLIST_FILE, "/media");
554 disable_file(BLACKLIST_FILE, "/run/mount");
555 disable_file(BLACKLIST_FILE, "/run/media");
556 }
557 else {
558 EUID_USER();
559 profile_add("blacklist /mnt");
560 profile_add("blacklist /media");
561 profile_add("blacklist /run/mount");
562 profile_add("blacklist /run/media");
563 EUID_ROOT();
564 }
553} 565}
554 566
555 567
diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c
index 5441522ab..8eede6f93 100644
--- a/src/firejail/sandbox.c
+++ b/src/firejail/sandbox.c
@@ -923,8 +923,10 @@ int sandbox(void* sandbox_arg) {
923 //**************************** 923 //****************************
924 // handle /mnt and /media 924 // handle /mnt and /media
925 //**************************** 925 //****************************
926 if (arg_disable_mnt || checkcfg(CFG_DISABLE_MNT)) 926 if (checkcfg(CFG_DISABLE_MNT))
927 fs_mnt(); 927 fs_mnt(1);
928 else if (arg_disable_mnt)
929 fs_mnt(0);
928 930
929 //**************************** 931 //****************************
930 // apply the profile file 932 // apply the profile file