aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build-extra.yml8
-rw-r--r--.github/workflows/build.yml2
-rw-r--r--.github/workflows/codeql-analysis.yml8
-rw-r--r--.github/workflows/profile-checks.yml2
-rw-r--r--README.md1
-rw-r--r--RELNOTES7
-rwxr-xr-xcontrib/sort.py91
-rw-r--r--etc/profile-a-l/brave.profile2
-rw-r--r--etc/profile-a-l/cinelerra-gg10
-rw-r--r--etc/profile-a-l/deluge.profile2
-rw-r--r--etc/profile-a-l/evince.profile13
-rw-r--r--etc/profile-a-l/godot3.profile11
-rw-r--r--etc/profile-m-z/nicotine.profile7
-rw-r--r--etc/profile-m-z/whalebird.profile3
-rw-r--r--etc/profile-m-z/youtube-viewers-common.profile12
-rw-r--r--src/firecfg/firecfg.config2
-rw-r--r--src/man/firejail-profile.txt9
-rw-r--r--src/man/firejail.txt17
18 files changed, 143 insertions, 64 deletions
diff --git a/.github/workflows/build-extra.yml b/.github/workflows/build-extra.yml
index a319e1ac6..c0e0062cd 100644
--- a/.github/workflows/build-extra.yml
+++ b/.github/workflows/build-extra.yml
@@ -40,7 +40,7 @@ jobs:
40 runs-on: ubuntu-22.04 40 runs-on: ubuntu-22.04
41 steps: 41 steps:
42 - name: Harden Runner 42 - name: Harden Runner
43 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 43 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
44 with: 44 with:
45 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 45 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
46 46
@@ -59,7 +59,7 @@ jobs:
59 runs-on: ubuntu-22.04 59 runs-on: ubuntu-22.04
60 steps: 60 steps:
61 - name: Harden Runner 61 - name: Harden Runner
62 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 62 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
63 with: 63 with:
64 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 64 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
65 65
@@ -74,7 +74,7 @@ jobs:
74 runs-on: ubuntu-22.04 74 runs-on: ubuntu-22.04
75 steps: 75 steps:
76 - name: Harden Runner 76 - name: Harden Runner
77 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 77 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
78 with: 78 with:
79 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 79 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
80 80
@@ -89,7 +89,7 @@ jobs:
89 runs-on: ubuntu-20.04 89 runs-on: ubuntu-20.04
90 steps: 90 steps:
91 - name: Harden Runner 91 - name: Harden Runner
92 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 92 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
93 with: 93 with:
94 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 94 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
95 95
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e383c9ef2..6612e256d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -32,7 +32,7 @@ jobs:
32 runs-on: ubuntu-22.04 32 runs-on: ubuntu-22.04
33 steps: 33 steps:
34 - name: Harden Runner 34 - name: Harden Runner
35 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 35 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
36 with: 36 with:
37 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 37 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
38 38
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 8b84f4d16..2190c9a1d 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -56,7 +56,7 @@ jobs:
56 56
57 steps: 57 steps:
58 - name: Harden Runner 58 - name: Harden Runner
59 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 59 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
60 with: 60 with:
61 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 61 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
62 62
@@ -65,7 +65,7 @@ jobs:
65 65
66 # Initializes the CodeQL tools for scanning. 66 # Initializes the CodeQL tools for scanning.
67 - name: Initialize CodeQL 67 - name: Initialize CodeQL
68 uses: github/codeql-action/init@ec3cf9c605b848da5f1e41e8452719eb1ccfb9a6 68 uses: github/codeql-action/init@c3b6fce4ee2ca25bc1066aa3bf73962fda0e8898
69 with: 69 with:
70 languages: ${{ matrix.language }} 70 languages: ${{ matrix.language }}
71 # If you wish to specify custom queries, you can do so here or in a config file. 71 # If you wish to specify custom queries, you can do so here or in a config file.
@@ -76,7 +76,7 @@ jobs:
76 # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 76 # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
77 # If this step fails, then you should remove it and run the build manually (see below) 77 # If this step fails, then you should remove it and run the build manually (see below)
78 - name: Autobuild 78 - name: Autobuild
79 uses: github/codeql-action/autobuild@ec3cf9c605b848da5f1e41e8452719eb1ccfb9a6 79 uses: github/codeql-action/autobuild@c3b6fce4ee2ca25bc1066aa3bf73962fda0e8898
80 80
81 # ℹī¸ Command-line programs to run using the OS shell. 81 # ℹī¸ Command-line programs to run using the OS shell.
82 # 📚 https://git.io/JvXDl 82 # 📚 https://git.io/JvXDl
@@ -90,4 +90,4 @@ jobs:
90 # make release 90 # make release
91 91
92 - name: Perform CodeQL Analysis 92 - name: Perform CodeQL Analysis
93 uses: github/codeql-action/analyze@ec3cf9c605b848da5f1e41e8452719eb1ccfb9a6 93 uses: github/codeql-action/analyze@c3b6fce4ee2ca25bc1066aa3bf73962fda0e8898
diff --git a/.github/workflows/profile-checks.yml b/.github/workflows/profile-checks.yml
index f5de62412..d36d050ab 100644
--- a/.github/workflows/profile-checks.yml
+++ b/.github/workflows/profile-checks.yml
@@ -24,7 +24,7 @@ jobs:
24 runs-on: ubuntu-latest 24 runs-on: ubuntu-latest
25 steps: 25 steps:
26 - name: Harden Runner 26 - name: Harden Runner
27 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 27 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
28 with: 28 with:
29 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 29 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
30 30
diff --git a/README.md b/README.md
index 023436e0d..a9df34c77 100644
--- a/README.md
+++ b/README.md
@@ -336,3 +336,4 @@ Stats:
336### New profiles: 336### New profiles:
337 337
338onionshare, onionshare-cli, opera-developer, songrec, gdu, makedeb, lbry-viewer, tuir, 338onionshare, onionshare-cli, opera-developer, songrec, gdu, makedeb, lbry-viewer, tuir,
339cinelerra-gg
diff --git a/RELNOTES b/RELNOTES
index 1adfd913e..18b577cca 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -2,6 +2,8 @@ firejail (0.9.71) baseline; urgency=low
2 * work in progress 2 * work in progress
3 * feature: On failing to remount a fuse filesystem, give warning instead of 3 * feature: On failing to remount a fuse filesystem, give warning instead of
4 erroring out (#5240 #5242) 4 erroring out (#5240 #5242)
5 * feature: Update syscall tables and seccomp groups (#5188)
6 * feature: improve force-nonewprivs security guarantees (#5217 #5271)
5 * feature: restrict namespaces (--restrict-namespaces) implemented as 7 * feature: restrict namespaces (--restrict-namespaces) implemented as
6 a seccomp filter for both 64 and 32 bit architectures (#4939 #5259) 8 a seccomp filter for both 64 and 32 bit architectures (#4939 #5259)
7 * feature: support for custom AppArmor profiles (--apparmor=) (#5274 #5316 9 * feature: support for custom AppArmor profiles (--apparmor=) (#5274 #5316
@@ -26,8 +28,9 @@ firejail (0.9.71) baseline; urgency=low
26 * build: add autoconf auto-generation comment to input files (#5251) 28 * build: add autoconf auto-generation comment to input files (#5251)
27 * build: Add files make uninstall forgot to remove (#5283) 29 * build: Add files make uninstall forgot to remove (#5283)
28 * build: add and use TARNAME instead of NAME for paths (#5310) 30 * build: add and use TARNAME instead of NAME for paths (#5310)
29 * build: only install ids.config when --enable-ids is set (#5357) 31 * build: only install ids.config when --enable-ids is set (#5356 #5357)
30 * build: Remove deprecated syntax and modernize shell test scripts (#5370) 32 * build: Remove deprecated syntax and modernize shell test scripts (#5370)
33 * build: Fix musl warnings (#5421 #5431)
31 * ci: bump ubuntu to 22.04 and use newer compilers / analyzers (#5275) 34 * ci: bump ubuntu to 22.04 and use newer compilers / analyzers (#5275)
32 * ci: ignore git-related paths and the project license (#5249) 35 * ci: ignore git-related paths and the project license (#5249)
33 * docs: mention risk of SUID binaries and also firejail-users(5) (#5288 36 * docs: mention risk of SUID binaries and also firejail-users(5) (#5288
@@ -37,6 +40,8 @@ firejail (0.9.71) baseline; urgency=low
37 * docs: Add IRC channel info to README.md (#5361) 40 * docs: Add IRC channel info to README.md (#5361)
38 * docs: man: Note that some commands can be disabled in firejail.config 41 * docs: man: Note that some commands can be disabled in firejail.config
39 (#5366) 42 (#5366)
43 * docs: Add gist note to bug_report.md (#5398)
44 * docs: clarify that --appimage should appear before --profile (#5402 #5451)
40 -- netblue30 <netblue30@yahoo.com> Sat, 11 Jun 2022 09:00:00 -0500 45 -- netblue30 <netblue30@yahoo.com> Sat, 11 Jun 2022 09:00:00 -0500
41 46
42firejail (0.9.70) baseline; urgency=low 47firejail (0.9.70) baseline; urgency=low
diff --git a/contrib/sort.py b/contrib/sort.py
index 6f21370ec..638f14516 100755
--- a/contrib/sort.py
+++ b/contrib/sort.py
@@ -2,48 +2,61 @@
2# This file is part of Firejail project 2# This file is part of Firejail project
3# Copyright (C) 2014-2022 Firejail Authors 3# Copyright (C) 2014-2022 Firejail Authors
4# License GPL v2 4# License GPL v2
5"""
6Sort the items of multi-item options in profiles, the following options are supported:
7 private-bin, private-etc, private-lib, caps.drop, caps.keep, seccomp.drop, seccomp.drop, protocol
8 5
9Usage: 6# Requirements:
10 $ ./sort.py /path/to/profile [ /path/to/profile2 /path/to/profile3 ... ] 7# python >= 3.6
8from os import path
9from sys import argv, exit as sys_exit, stderr
10
11__doc__ = f"""\
12Sort the arguments of commands in profiles.
13
14Usage: {path.basename(argv[0])} [/path/to/profile ...]
15
16The following commands are supported:
17
18 private-bin, private-etc, private-lib, caps.drop, caps.keep, seccomp.drop,
19 seccomp.drop, protocol
20
21Note that this is only applicable to commands that support multiple arguments.
22
11Keep in mind that this will overwrite your profile(s). 23Keep in mind that this will overwrite your profile(s).
12 24
13Examples: 25Examples:
14 $ ./sort.py MyAwesomeProfile.profile 26 $ {argv[0]} MyAwesomeProfile.profile
15 $ ./sort.py new_profile.profile second_new_profile.profile 27 $ {argv[0]} new_profile.profile second_new_profile.profile
16 $ ./sort.py ~/.config/firejail/*.{profile,inc,local} 28 $ {argv[0]} ~/.config/firejail/*.{{profile,inc,local}}
17 $ sudo ./sort.py /etc/firejail/*.{profile,inc,local} 29 $ sudo {argv[0]} /etc/firejail/*.{{profile,inc,local}}
18 30
19Exit-Codes: 31Exit Codes:
20 0: No Error; No Profile Fixed. 32 0: Success: No profiles needed fixing.
21 1: Error, one or more profiles were not processed correctly. 33 1: Error: One or more profiles could not be processed correctly.
22 101: No Error; One or more profile were fixed. 34 2: Error: Missing arguments.
35 101: Info: One or more profiles were fixed.
23""" 36"""
24 37
25# Requirements:
26# python >= 3.6
27from sys import argv, exit as sys_exit
28
29 38
30def sort_alphabetical(raw_items): 39def sort_alphabetical(original_items):
31 items = raw_items.split(",") 40 items = original_items.split(",")
32 items.sort(key=lambda s: s.casefold()) 41 items.sort(key=str.casefold)
33 return ",".join(items) 42 return ",".join(items)
34 43
35 44
36def sort_protocol(protocols): 45def sort_protocol(original_protocols):
37 """sort the given protocols into this scheme: unix,inet,inet6,netlink,packet,bluetooth""" 46 """
47 Sort the given protocols into the following order:
48
49 unix,inet,inet6,netlink,packet,bluetooth
50 """
38 51
39 # shortcut for common protocol lines 52 # shortcut for common protocol lines
40 if protocols in ("unix", "unix,inet,inet6"): 53 if original_protocols in ("unix", "unix,inet,inet6"):
41 return protocols 54 return original_protocols
42 55
43 fixed_protocols = "" 56 fixed_protocols = ""
44 for protocol in ("unix", "inet", "inet6", "netlink", "packet", "bluetooth"): 57 for protocol in ("unix", "inet", "inet6", "netlink", "packet", "bluetooth"):
45 for prefix in ("", "-", "+", "="): 58 for prefix in ("", "-", "+", "="):
46 if f",{prefix}{protocol}," in f",{protocols},": 59 if f",{prefix}{protocol}," in f",{original_protocols},":
47 fixed_protocols += f"{prefix}{protocol}," 60 fixed_protocols += f"{prefix}{protocol},"
48 return fixed_protocols[:-1] 61 return fixed_protocols[:-1]
49 62
@@ -53,7 +66,7 @@ def fix_profile(filename):
53 lines = profile.read().split("\n") 66 lines = profile.read().split("\n")
54 was_fixed = False 67 was_fixed = False
55 fixed_profile = [] 68 fixed_profile = []
56 for lineno, line in enumerate(lines): 69 for lineno, line in enumerate(lines, 1):
57 if line[:12] in ("private-bin ", "private-etc ", "private-lib "): 70 if line[:12] in ("private-bin ", "private-etc ", "private-lib "):
58 fixed_line = f"{line[:12]}{sort_alphabetical(line[12:])}" 71 fixed_line = f"{line[:12]}{sort_alphabetical(line[12:])}"
59 elif line[:13] in ("seccomp.drop ", "seccomp.keep "): 72 elif line[:13] in ("seccomp.drop ", "seccomp.keep "):
@@ -69,8 +82,8 @@ def fix_profile(filename):
69 if fixed_line != line: 82 if fixed_line != line:
70 was_fixed = True 83 was_fixed = True
71 print( 84 print(
72 f"{filename}:{lineno + 1}:-{line}\n" 85 f"{filename}:{lineno}:-{line}\n"
73 f"{filename}:{lineno + 1}:+{fixed_line}" 86 f"{filename}:{lineno}:+{fixed_line}"
74 ) 87 )
75 fixed_profile.append(fixed_line) 88 fixed_profile.append(fixed_line)
76 if was_fixed: 89 if was_fixed:
@@ -84,22 +97,30 @@ def fix_profile(filename):
84 97
85 98
86def main(args): 99def main(args):
100 if len(args) < 1:
101 print(__doc__, file=stderr)
102 return 2
103
104 print(f"sort.py: checking {len(args)} profile(s)...")
105
87 exit_code = 0 106 exit_code = 0
88 print(f"sort.py: checking {len(args)} {'profiles' if len(args) != 1 else 'profile'}...")
89 for filename in args: 107 for filename in args:
90 try: 108 try:
91 if exit_code not in (1, 101): 109 if exit_code not in (1, 101):
92 exit_code = fix_profile(filename) 110 exit_code = fix_profile(filename)
93 else: 111 else:
94 fix_profile(filename) 112 fix_profile(filename)
95 except FileNotFoundError: 113 except FileNotFoundError as err:
96 print(f"[ Error ] Can't find `{filename}'") 114 print(f"[ Error ] {err}", file=stderr)
97 exit_code = 1 115 exit_code = 1
98 except PermissionError: 116 except PermissionError as err:
99 print(f"[ Error ] Can't read/write `{filename}'") 117 print(f"[ Error ] {err}", file=stderr)
100 exit_code = 1 118 exit_code = 1
101 except Exception as err: 119 except Exception as err:
102 print(f"[ Error ] An error occurred while processing `{filename}': {err}") 120 print(
121 f"[ Error ] An error occurred while processing '{filename}': {err}",
122 file=stderr,
123 )
103 exit_code = 1 124 exit_code = 1
104 return exit_code 125 return exit_code
105 126
diff --git a/etc/profile-a-l/brave.profile b/etc/profile-a-l/brave.profile
index 09548c761..071a279b0 100644
--- a/etc/profile-a-l/brave.profile
+++ b/etc/profile-a-l/brave.profile
@@ -13,6 +13,8 @@ ignore noexec /tmp
13# you will need to uncomment the 'brave + tor' rule in /etc/apparmor.d/local/firejail-default. 13# you will need to uncomment the 'brave + tor' rule in /etc/apparmor.d/local/firejail-default.
14# Alternatively you can add 'ignore apparmor' to your brave.local. 14# Alternatively you can add 'ignore apparmor' to your brave.local.
15ignore noexec ${HOME} 15ignore noexec ${HOME}
16# Causes slow starts (#4604)
17ignore private-cache
16 18
17noblacklist ${HOME}/.cache/BraveSoftware 19noblacklist ${HOME}/.cache/BraveSoftware
18noblacklist ${HOME}/.config/BraveSoftware 20noblacklist ${HOME}/.config/BraveSoftware
diff --git a/etc/profile-a-l/cinelerra-gg b/etc/profile-a-l/cinelerra-gg
new file mode 100644
index 000000000..ccb9fe04b
--- /dev/null
+++ b/etc/profile-a-l/cinelerra-gg
@@ -0,0 +1,10 @@
1# Firejail profile alias for cin
2# This file is overwritten after every install/update
3# Persistent local customizations
4include cinelerra-gg.local
5# Persistent global definitions
6# added by included profile
7#include globals.local
8
9# Redirect
10include cin.profile
diff --git a/etc/profile-a-l/deluge.profile b/etc/profile-a-l/deluge.profile
index fddd613e2..d8a27da62 100644
--- a/etc/profile-a-l/deluge.profile
+++ b/etc/profile-a-l/deluge.profile
@@ -36,7 +36,7 @@ nosound
36notv 36notv
37nou2f 37nou2f
38novideo 38novideo
39protocol unix,inet,inet6 39protocol unix,inet,inet6,netlink
40seccomp 40seccomp
41 41
42# deluge is using python on Debian 42# deluge is using python on Debian
diff --git a/etc/profile-a-l/evince.profile b/etc/profile-a-l/evince.profile
index 21bf7eabf..eec9f86db 100644
--- a/etc/profile-a-l/evince.profile
+++ b/etc/profile-a-l/evince.profile
@@ -6,9 +6,9 @@ include evince.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9# WARNING: using bookmarks possibly exposes information, including file history from other programs. 9# WARNING: This exposes information like file history from other programs.
10# Add the next line to your evince.local if you need bookmarks support. This also needs additional dbus-user filtering (see below). 10# You can add a blacklist for it in your evince.local for additional hardening if you can live with some restrictions.
11#noblacklist ${HOME}/.local/share/gvfs-metadata 11noblacklist ${HOME}/.local/share/gvfs-metadata
12 12
13noblacklist ${HOME}/.config/evince 13noblacklist ${HOME}/.config/evince
14noblacklist ${DOCUMENTS} 14noblacklist ${DOCUMENTS}
@@ -59,9 +59,8 @@ private-etc alternatives,fonts,group,ld.so.cache,ld.so.preload,machine-id,passwd
59private-lib evince,gcc/*/*/libgcc_s.so.*,gcc/*/*/libstdc++.so.*,gconv,gdk-pixbuf-2.*,gio,gvfs/libgvfscommon.so,libarchive.so.*,libdjvulibre.so.*,libgconf-2.so.*,libgraphite2.so.*,libpoppler-glib.so.*,librsvg-2.so.*,libspectre.so.* 59private-lib evince,gcc/*/*/libgcc_s.so.*,gcc/*/*/libstdc++.so.*,gconv,gdk-pixbuf-2.*,gio,gvfs/libgvfscommon.so,libarchive.so.*,libdjvulibre.so.*,libgconf-2.so.*,libgraphite2.so.*,libpoppler-glib.so.*,librsvg-2.so.*,libspectre.so.*
60private-tmp 60private-tmp
61 61
62# dbus-user filtering might break two-page-view on some systems
63dbus-user filter 62dbus-user filter
64# Add the next two lines to your evince.local if you need bookmarks support. 63dbus-user.talk ca.desrt.dconf
65#dbus-user.talk org.gtk.vfs.Daemon 64dbus-user.talk org.gtk.vfs.Daemon
66#dbus-user.talk org.gtk.vfs.Metadata 65dbus-user.talk org.gtk.vfs.Metadata
67dbus-system none 66dbus-system none
diff --git a/etc/profile-a-l/godot3.profile b/etc/profile-a-l/godot3.profile
new file mode 100644
index 000000000..90d1b15b7
--- /dev/null
+++ b/etc/profile-a-l/godot3.profile
@@ -0,0 +1,11 @@
1# Firejail profile for godot
2# Description: multi-platform 2D and 3D game engine with a feature-rich editor
3# This file is overwritten after every install/update
4# Persistent local customizations
5include godot3.local
6# Persistent global definitions
7# added by included profile
8#include globals.local
9
10# Redirect
11include godot.profile
diff --git a/etc/profile-m-z/nicotine.profile b/etc/profile-m-z/nicotine.profile
index bb2a41457..22c8b1782 100644
--- a/etc/profile-m-z/nicotine.profile
+++ b/etc/profile-m-z/nicotine.profile
@@ -8,8 +8,12 @@ include globals.local
8 8
9noblacklist ${HOME}/.nicotine 9noblacklist ${HOME}/.nicotine
10 10
11# Allow /bin/sh (blacklisted by disable-shell.inc)
12include allow-bin-sh.inc
13
11# Allow python (blacklisted by disable-interpreters.inc) 14# Allow python (blacklisted by disable-interpreters.inc)
12include allow-python2.inc 15include allow-python2.inc
16include allow-python3.inc
13 17
14include disable-common.inc 18include disable-common.inc
15include disable-devel.inc 19include disable-devel.inc
@@ -37,6 +41,7 @@ nodvd
37nogroups 41nogroups
38noinput 42noinput
39nonewprivs 43nonewprivs
44noprinters
40noroot 45noroot
41nosound 46nosound
42notv 47notv
@@ -47,7 +52,7 @@ seccomp
47tracelog 52tracelog
48 53
49disable-mnt 54disable-mnt
50private-bin nicotine,python2* 55#private-bin nicotine,python2*
51private-cache 56private-cache
52private-dev 57private-dev
53private-tmp 58private-tmp
diff --git a/etc/profile-m-z/whalebird.profile b/etc/profile-m-z/whalebird.profile
index 92ebebdae..8a9614fb0 100644
--- a/etc/profile-m-z/whalebird.profile
+++ b/etc/profile-m-z/whalebird.profile
@@ -10,6 +10,7 @@ include globals.local
10ignore include whitelist-runuser-common.inc 10ignore include whitelist-runuser-common.inc
11ignore include whitelist-usr-share-common.inc 11ignore include whitelist-usr-share-common.inc
12 12
13ignore apparmor
13ignore dbus-user none 14ignore dbus-user none
14ignore dbus-system none 15ignore dbus-system none
15 16
@@ -21,7 +22,7 @@ whitelist ${HOME}/.config/Whalebird
21no3d 22no3d
22 23
23private-bin electron,electron[0-9],electron[0-9][0-9],whalebird 24private-bin electron,electron[0-9],electron[0-9][0-9],whalebird
24private-etc alternatives,fonts,ld.so.cache,ld.so.preload,machine-id 25private-etc alternatives,ca-certificates,crypto-policies,fonts,ld.so.cache,ld.so.preload,machine-id,nsswitch.conf,pki,resolv.conf,ssl
25 26
26# Redirect 27# Redirect
27include electron.profile 28include electron.profile
diff --git a/etc/profile-m-z/youtube-viewers-common.profile b/etc/profile-m-z/youtube-viewers-common.profile
index 8582e2462..28c219377 100644
--- a/etc/profile-m-z/youtube-viewers-common.profile
+++ b/etc/profile-m-z/youtube-viewers-common.profile
@@ -19,6 +19,13 @@ include allow-perl.inc
19include allow-python2.inc 19include allow-python2.inc
20include allow-python3.inc 20include allow-python3.inc
21 21
22# The lines below are needed to find the default Firefox profile name, to allow
23# opening links in an existing instance of Firefox (note that it still fails if
24# there isn't a Firefox instance running with the default profile; see #5352)
25noblacklist ${HOME}/.mozilla
26whitelist ${HOME}/.mozilla/firefox/profiles.ini
27read-only ${HOME}/.mozilla/firefox/profiles.ini
28
22include disable-common.inc 29include disable-common.inc
23include disable-devel.inc 30include disable-devel.inc
24include disable-exec.inc 31include disable-exec.inc
@@ -55,5 +62,8 @@ private-dev
55private-etc alsa,alternatives,asound.conf,ca-certificates,crypto-policies,fonts,gtk-2.0,gtk-3.0,host.conf,hostname,hosts,ld.so.cache,ld.so.preload,machine-id,mime.types,nsswitch.conf,passwd,pki,pulse,resolv.conf,ssl,X11,xdg 62private-etc alsa,alternatives,asound.conf,ca-certificates,crypto-policies,fonts,gtk-2.0,gtk-3.0,host.conf,hostname,hosts,ld.so.cache,ld.so.preload,machine-id,mime.types,nsswitch.conf,passwd,pki,pulse,resolv.conf,ssl,X11,xdg
56private-tmp 63private-tmp
57 64
58dbus-user none 65dbus-user filter
66# allow D-Bus communication with firefox for opening links
67dbus-user.talk org.mozilla.*
68
59dbus-system none 69dbus-system none
diff --git a/src/firecfg/firecfg.config b/src/firecfg/firecfg.config
index 72a33ed5a..17563cde3 100644
--- a/src/firecfg/firecfg.config
+++ b/src/firecfg/firecfg.config
@@ -137,6 +137,7 @@ chromium-browser-privacy
137chromium-freeworld 137chromium-freeworld
138cin 138cin
139cinelerra 139cinelerra
140cinelerra-gg
140clamdscan 141clamdscan
141clamdtop 142clamdtop
142clamscan 143clamscan
@@ -355,6 +356,7 @@ gnome-weather
355gnote 356gnote
356gnubik 357gnubik
357godot 358godot
359godot3
358goldendict 360goldendict
359goobox 361goobox
360google-chrome 362google-chrome
diff --git a/src/man/firejail-profile.txt b/src/man/firejail-profile.txt
index 138aae8af..7fa677ae5 100644
--- a/src/man/firejail-profile.txt
+++ b/src/man/firejail-profile.txt
@@ -14,7 +14,7 @@ Using a specific profile:
14.br 14.br
15Example: 15Example:
16.br 16.br
17$ firejail --profile=/etc/firejail/kdenlive.profile --appimage kdenlive.appimage 17$ firejail --appimage --profile=/etc/firejail/kdenlive.profile kdenlive.appimage
18.br 18.br
19 19
20.br 20.br
@@ -25,7 +25,7 @@ $ firejail --profile=/etc/firejail/kdenlive.profile --appimage kdenlive.appimage
25.br 25.br
26Example: 26Example:
27.br 27.br
28$ firejail --profile=kdenlive --appimage kdenlive.appimage 28$ firejail --appimage --profile=kdenlive kdenlive.appimage
29.br 29.br
30 30
31.br 31.br
@@ -179,6 +179,11 @@ can be enabled or disabled globally in Firejail's configuration file.
179 179
180The profile line may be any profile line that you would normally use in a profile \fBexcept\fR for "quiet" and "include" lines. 180The profile line may be any profile line that you would normally use in a profile \fBexcept\fR for "quiet" and "include" lines.
181 181
182Note: When using one or more conditionals and \fB--profile\fR, it is
183recommended that the relevant option(s) (such as \fB--appimage\fR) be specified
184before \fB--profile\fR, so that their respective conditional(s) (such as
185\fB?HAS_APPIMAGE\fR) inside of the profile evaluate to true.
186
182.TP 187.TP
183\fBinclude other.profile 188\fBinclude other.profile
184Include other.profile file. 189Include other.profile file.
diff --git a/src/man/firejail.txt b/src/man/firejail.txt
index b4be1cd62..39c81312c 100644
--- a/src/man/firejail.txt
+++ b/src/man/firejail.txt
@@ -11,7 +11,7 @@ firejail [OPTIONS] [program and arguments]
11Start an AppImage program: 11Start an AppImage program:
12.PP 12.PP
13.RS 13.RS
14firejail [OPTIONS] --appimage [appimage-file and arguments] 14firejail [OPTIONS] --appimage [OPTIONS] [appimage-file and arguments]
15.RE 15.RE
16.PP 16.PP
17#ifdef HAVE_FILE_TRANSFER 17#ifdef HAVE_FILE_TRANSFER
@@ -164,15 +164,22 @@ private-bin and private-lib are disabled by default when running appimages.
164.br 164.br
165Example: 165Example:
166.br 166.br
167$ firejail --profile=krita --appimage krita-3.0-x86_64.appimage 167$ firejail --appimage --profile=krita krita-3.0-x86_64.appimage
168.br 168.br
169$ firejail --private --profile=krita --appimage krita-3.0-x86_64.appimage 169$ firejail --quiet --appimage --private --profile=krita krita-3.0-x86_64.appimage
170.br 170.br
171#ifdef HAVE_X11 171#ifdef HAVE_X11
172$ firejail --net=none --x11 --profile=krita --appimage krita-3.0-x86_64.appimage 172$ firejail --appimage --net=none --x11 --profile=krita krita-3.0-x86_64.appimage
173#endif 173#endif
174.TP 174.br
175
176.br
177Note: When using both \fB--appimage\fR and \fB--profile\fR, it is recommended
178to always specify the former before the latter, so that any \fB?HAS_APPIMAGE\fR
179conditionals inside of the profile evaluate to true (see \fB?CONDITIONAL\fR in
180firejail-profile(5)).
175#ifdef HAVE_NETWORK 181#ifdef HAVE_NETWORK
182.TP
176\fB\-\-bandwidth=name|pid 183\fB\-\-bandwidth=name|pid
177Set bandwidth limits for the sandbox identified by name or PID, see \fBTRAFFIC SHAPING\fR section for more details. 184Set bandwidth limits for the sandbox identified by name or PID, see \fBTRAFFIC SHAPING\fR section for more details.
178#endif 185#endif