aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELNOTES1
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--src/firejail/fs.c6
-rwxr-xr-xtest/fs/fs.sh3
-rwxr-xr-xtest/fs/sys_fs.exp44
6 files changed, 63 insertions, 11 deletions
diff --git a/RELNOTES b/RELNOTES
index 0206e5433..23e44a14f 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -5,6 +5,7 @@ firejail (0.9.44~rc1) baseline; urgency=low
5 * modifs: --private-tmp whitelists /tmp/.X11-unix directory 5 * modifs: --private-tmp whitelists /tmp/.X11-unix directory
6 * modifs: Nvidia drivers added to --private-dev 6 * modifs: Nvidia drivers added to --private-dev
7 * modifs: /srv supported by --whitelist 7 * modifs: /srv supported by --whitelist
8 * feature: allow user access to /sys/fs (--noblacklist=/sys/fs)
8 * feature: support starting/joining sandbox is a single command 9 * feature: support starting/joining sandbox is a single command
9 (--join-or-start) 10 (--join-or-start)
10 * feature: X11 detection support for --audit 11 * feature: X11 detection support for --audit
diff --git a/configure b/configure
index 48b891c40..9a33f0401 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.44~rc1. 3# Generated by GNU Autoconf 2.69 for firejail 0.9.44~rc2.
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.44~rc1' 583PACKAGE_VERSION='0.9.44~rc2'
584PACKAGE_STRING='firejail 0.9.44~rc1' 584PACKAGE_STRING='firejail 0.9.44~rc2'
585PACKAGE_BUGREPORT='netblue30@yahoo.com' 585PACKAGE_BUGREPORT='netblue30@yahoo.com'
586PACKAGE_URL='http://firejail.wordpress.com' 586PACKAGE_URL='http://firejail.wordpress.com'
587 587
@@ -1259,7 +1259,7 @@ if test "$ac_init_help" = "long"; then
1259 # Omit some internal or obsolete options to make the list less imposing. 1259 # Omit some internal or obsolete options to make the list less imposing.
1260 # This message is too long to be a string in the A/UX 3.1 sh. 1260 # This message is too long to be a string in the A/UX 3.1 sh.
1261 cat <<_ACEOF 1261 cat <<_ACEOF
1262\`configure' configures firejail 0.9.44~rc1 to adapt to many kinds of systems. 1262\`configure' configures firejail 0.9.44~rc2 to adapt to many kinds of systems.
1263 1263
1264Usage: $0 [OPTION]... [VAR=VALUE]... 1264Usage: $0 [OPTION]... [VAR=VALUE]...
1265 1265
@@ -1320,7 +1320,7 @@ fi
1320 1320
1321if test -n "$ac_init_help"; then 1321if test -n "$ac_init_help"; then
1322 case $ac_init_help in 1322 case $ac_init_help in
1323 short | recursive ) echo "Configuration of firejail 0.9.44~rc1:";; 1323 short | recursive ) echo "Configuration of firejail 0.9.44~rc2:";;
1324 esac 1324 esac
1325 cat <<\_ACEOF 1325 cat <<\_ACEOF
1326 1326
@@ -1424,7 +1424,7 @@ fi
1424test -n "$ac_init_help" && exit $ac_status 1424test -n "$ac_init_help" && exit $ac_status
1425if $ac_init_version; then 1425if $ac_init_version; then
1426 cat <<\_ACEOF 1426 cat <<\_ACEOF
1427firejail configure 0.9.44~rc1 1427firejail configure 0.9.44~rc2
1428generated by GNU Autoconf 2.69 1428generated by GNU Autoconf 2.69
1429 1429
1430Copyright (C) 2012 Free Software Foundation, Inc. 1430Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1726,7 +1726,7 @@ cat >config.log <<_ACEOF
1726This file contains any messages produced by compilers while 1726This file contains any messages produced by compilers while
1727running configure, to aid debugging if configure makes a mistake. 1727running configure, to aid debugging if configure makes a mistake.
1728 1728
1729It was created by firejail $as_me 0.9.44~rc1, which was 1729It was created by firejail $as_me 0.9.44~rc2, which was
1730generated by GNU Autoconf 2.69. Invocation command line was 1730generated by GNU Autoconf 2.69. Invocation command line was
1731 1731
1732 $ $0 $@ 1732 $ $0 $@
@@ -4303,7 +4303,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
4303# report actual input values of CONFIG_FILES etc. instead of their 4303# report actual input values of CONFIG_FILES etc. instead of their
4304# values after options handling. 4304# values after options handling.
4305ac_log=" 4305ac_log="
4306This file was extended by firejail $as_me 0.9.44~rc1, which was 4306This file was extended by firejail $as_me 0.9.44~rc2, which was
4307generated by GNU Autoconf 2.69. Invocation command line was 4307generated by GNU Autoconf 2.69. Invocation command line was
4308 4308
4309 CONFIG_FILES = $CONFIG_FILES 4309 CONFIG_FILES = $CONFIG_FILES
@@ -4357,7 +4357,7 @@ _ACEOF
4357cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 4357cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
4358ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 4358ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
4359ac_cs_version="\\ 4359ac_cs_version="\\
4360firejail config.status 0.9.44~rc1 4360firejail config.status 0.9.44~rc2
4361configured by $0, generated by GNU Autoconf 2.69, 4361configured by $0, generated by GNU Autoconf 2.69,
4362 with options \\"\$ac_cs_config\\" 4362 with options \\"\$ac_cs_config\\"
4363 4363
diff --git a/configure.ac b/configure.ac
index 108b558d4..4496550fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
1AC_PREREQ([2.68]) 1AC_PREREQ([2.68])
2AC_INIT(firejail, 0.9.44~rc1, netblue30@yahoo.com, , http://firejail.wordpress.com) 2AC_INIT(firejail, 0.9.44~rc2, netblue30@yahoo.com, , http://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/src/firejail/fs.c b/src/firejail/fs.c
index a5f12c7df..6c566bd90 100644
--- a/src/firejail/fs.c
+++ b/src/firejail/fs.c
@@ -649,7 +649,11 @@ void fs_proc_sys_dev_boot(void) {
649 649
650 disable_file(BLACKLIST_FILE, "/sys/firmware"); 650 disable_file(BLACKLIST_FILE, "/sys/firmware");
651 disable_file(BLACKLIST_FILE, "/sys/hypervisor"); 651 disable_file(BLACKLIST_FILE, "/sys/hypervisor");
652 disable_file(BLACKLIST_FILE, "/sys/fs"); 652 { // allow user access to /sys/fs if "--noblacklist=/sys/fs" is present on the command line
653 EUID_USER();
654 profile_add("blacklist /sys/fs");
655 EUID_ROOT();
656 }
653 disable_file(BLACKLIST_FILE, "/sys/module"); 657 disable_file(BLACKLIST_FILE, "/sys/module");
654 disable_file(BLACKLIST_FILE, "/sys/power"); 658 disable_file(BLACKLIST_FILE, "/sys/power");
655 disable_file(BLACKLIST_FILE, "/sys/kernel/debug"); 659 disable_file(BLACKLIST_FILE, "/sys/kernel/debug");
diff --git a/test/fs/fs.sh b/test/fs/fs.sh
index d45ef48bd..3139b8eae 100755
--- a/test/fs/fs.sh
+++ b/test/fs/fs.sh
@@ -6,6 +6,9 @@
6export MALLOC_CHECK_=3 6export MALLOC_CHECK_=3
7export MALLOC_PERTURB_=$(($RANDOM % 255 + 1)) 7export MALLOC_PERTURB_=$(($RANDOM % 255 + 1))
8 8
9echo "TESTING: /sys/fs access (test/fs/sys_fs.exp)"
10./sys_fs.exp
11
9echo "TESTING: kmsg access (test/fs/kmsg.exp)" 12echo "TESTING: kmsg access (test/fs/kmsg.exp)"
10./kmsg.exp 13./kmsg.exp
11 14
diff --git a/test/fs/sys_fs.exp b/test/fs/sys_fs.exp
new file mode 100755
index 000000000..f512776d9
--- /dev/null
+++ b/test/fs/sys_fs.exp
@@ -0,0 +1,44 @@
1#!/usr/bin/expect -f
2# This file is part of Firejail project
3# Copyright (C) 2014-2016 Firejail Authors
4# License GPL v2
5
6set timeout 10
7spawn $env(SHELL)
8match_max 100000
9
10send -- "firejail\r"
11expect {
12 timeout {puts "TESTING ERROR 1\n";exit}
13 "Child process initialized"
14}
15sleep 1
16
17send -- "ls /sys/fs\r"
18expect {
19 timeout {puts "TESTING ERROR 2\n";exit}
20 "Permission denied"
21}
22after 100
23
24send -- "exit\r"
25sleep 1
26
27send -- "firejail --noblacklist=/sys/fs\r"
28expect {
29 timeout {puts "TESTING ERROR 1\n";exit}
30 "Child process initialized"
31}
32sleep 1
33
34send -- "ls /sys/fs\r"
35expect {
36 timeout {puts "TESTING ERROR 2\n";exit}
37 "cgroup"
38}
39after 100
40send -- "exit\r"
41after 100
42
43puts "\nall done\n"
44