aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build-extra.yml34
-rw-r--r--.github/workflows/build.yml12
-rw-r--r--.github/workflows/codeql-analysis.yml20
-rw-r--r--.github/workflows/profile-checks.yml14
-rw-r--r--RELNOTES2
-rwxr-xr-xcontrib/sort.py91
-rw-r--r--etc/profile-a-l/brave.profile2
-rw-r--r--etc/profile-a-l/email-common.profile2
-rw-r--r--etc/profile-a-l/evince.profile13
-rw-r--r--etc/profile-a-l/lutris.profile3
-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
13 files changed, 145 insertions, 70 deletions
diff --git a/.github/workflows/build-extra.yml b/.github/workflows/build-extra.yml
index a319e1ac6..e9ec436a4 100644
--- a/.github/workflows/build-extra.yml
+++ b/.github/workflows/build-extra.yml
@@ -4,33 +4,43 @@ on:
4 push: 4 push:
5 branches: [ master ] 5 branches: [ master ]
6 paths-ignore: 6 paths-ignore:
7 - '.github/ISSUE_TEMPLATE/*'
8 - 'etc/**'
9 - 'contrib/vim/**'
10 - 'src/man/*.txt'
7 - .git-blame-ignore-revs 11 - .git-blame-ignore-revs
12 - .github/dependabot.yml
13 - .github/pull_request_template.md
14 - .github/workflows/codeql-analysis.yml
8 - .gitignore 15 - .gitignore
16 - .gitlab-ci.yml
9 - CONTRIBUTING.md 17 - CONTRIBUTING.md
10 - COPYING 18 - COPYING
11 - README 19 - README
12 - README.md 20 - README.md
13 - RELNOTES 21 - RELNOTES
14 - SECURITY.md 22 - SECURITY.md
15 - 'etc/**' 23 - src/firecfg/firecfg.config
16 - 'src/firecfg/firecfg.config'
17 - '.github/ISSUE_TEMPLATE/*'
18 - '.github/pull_request_template.md'
19 pull_request: 24 pull_request:
20 branches: [ master ] 25 branches: [ master ]
21 paths-ignore: 26 paths-ignore:
27 - '.github/ISSUE_TEMPLATE/*'
28 - 'etc/**'
29 - 'contrib/vim/**'
30 - 'src/man/*.txt'
22 - .git-blame-ignore-revs 31 - .git-blame-ignore-revs
32 - .github/dependabot.yml
33 - .github/pull_request_template.md
34 - .github/workflows/codeql-analysis.yml
23 - .gitignore 35 - .gitignore
36 - .gitlab-ci.yml
24 - CONTRIBUTING.md 37 - CONTRIBUTING.md
25 - COPYING 38 - COPYING
26 - README 39 - README
27 - README.md 40 - README.md
28 - RELNOTES 41 - RELNOTES
29 - SECURITY.md 42 - SECURITY.md
30 - 'etc/**' 43 - src/firecfg/firecfg.config
31 - 'src/firecfg/firecfg.config'
32 - '.github/ISSUE_TEMPLATE/*'
33 - '.github/pull_request_template.md'
34 44
35permissions: # added using https://github.com/step-security/secure-workflows 45permissions: # added using https://github.com/step-security/secure-workflows
36 contents: read 46 contents: read
@@ -40,7 +50,7 @@ jobs:
40 runs-on: ubuntu-22.04 50 runs-on: ubuntu-22.04
41 steps: 51 steps:
42 - name: Harden Runner 52 - name: Harden Runner
43 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 53 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
44 with: 54 with:
45 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 55 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
46 56
@@ -59,7 +69,7 @@ jobs:
59 runs-on: ubuntu-22.04 69 runs-on: ubuntu-22.04
60 steps: 70 steps:
61 - name: Harden Runner 71 - name: Harden Runner
62 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 72 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
63 with: 73 with:
64 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 74 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
65 75
@@ -74,7 +84,7 @@ jobs:
74 runs-on: ubuntu-22.04 84 runs-on: ubuntu-22.04
75 steps: 85 steps:
76 - name: Harden Runner 86 - name: Harden Runner
77 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 87 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
78 with: 88 with:
79 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 89 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
80 90
@@ -89,7 +99,7 @@ jobs:
89 runs-on: ubuntu-20.04 99 runs-on: ubuntu-20.04
90 steps: 100 steps:
91 - name: Harden Runner 101 - name: Harden Runner
92 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 102 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
93 with: 103 with:
94 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 104 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
95 105
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e383c9ef2..3119f59b9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,8 +4,13 @@ on:
4 push: 4 push:
5 branches: [ master ] 5 branches: [ master ]
6 paths-ignore: 6 paths-ignore:
7 - '.github/ISSUE_TEMPLATE/*'
7 - .git-blame-ignore-revs 8 - .git-blame-ignore-revs
9 - .github/dependabot.yml
10 - .github/pull_request_template.md
11 - .github/workflows/codeql-analysis.yml
8 - .gitignore 12 - .gitignore
13 - .gitlab-ci.yml
9 - CONTRIBUTING.md 14 - CONTRIBUTING.md
10 - COPYING 15 - COPYING
11 - README 16 - README
@@ -15,8 +20,13 @@ on:
15 pull_request: 20 pull_request:
16 branches: [ master ] 21 branches: [ master ]
17 paths-ignore: 22 paths-ignore:
23 - '.github/ISSUE_TEMPLATE/*'
18 - .git-blame-ignore-revs 24 - .git-blame-ignore-revs
25 - .github/dependabot.yml
26 - .github/pull_request_template.md
27 - .github/workflows/codeql-analysis.yml
19 - .gitignore 28 - .gitignore
29 - .gitlab-ci.yml
20 - CONTRIBUTING.md 30 - CONTRIBUTING.md
21 - COPYING 31 - COPYING
22 - README 32 - README
@@ -32,7 +42,7 @@ jobs:
32 runs-on: ubuntu-22.04 42 runs-on: ubuntu-22.04
33 steps: 43 steps:
34 - name: Harden Runner 44 - name: Harden Runner
35 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 45 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
36 with: 46 with:
37 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 47 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
38 48
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 6c8a9bf99..ad19c9530 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -9,28 +9,42 @@ on:
9 push: 9 push:
10 branches: [ master ] 10 branches: [ master ]
11 paths-ignore: 11 paths-ignore:
12 - '.github/ISSUE_TEMPLATE/*'
13 - 'etc/**'
14 - 'contrib/vim/**'
15 - 'src/man/*.txt'
12 - .git-blame-ignore-revs 16 - .git-blame-ignore-revs
17 - .github/dependabot.yml
18 - .github/pull_request_template.md
13 - .gitignore 19 - .gitignore
20 - .gitlab-ci.yml
14 - CONTRIBUTING.md 21 - CONTRIBUTING.md
15 - COPYING 22 - COPYING
16 - README 23 - README
17 - README.md 24 - README.md
18 - RELNOTES 25 - RELNOTES
19 - SECURITY.md 26 - SECURITY.md
20 - 'etc/**' 27 - src/firecfg/firecfg.config
21 pull_request: 28 pull_request:
22 # The branches below must be a subset of the branches above 29 # The branches below must be a subset of the branches above
23 branches: [ master ] 30 branches: [ master ]
24 paths-ignore: 31 paths-ignore:
32 - '.github/ISSUE_TEMPLATE/*'
33 - 'etc/**'
34 - 'contrib/vim/**'
35 - 'src/man/*.txt'
25 - .git-blame-ignore-revs 36 - .git-blame-ignore-revs
37 - .github/dependabot.yml
38 - .github/pull_request_template.md
26 - .gitignore 39 - .gitignore
40 - .gitlab-ci.yml
27 - CONTRIBUTING.md 41 - CONTRIBUTING.md
28 - COPYING 42 - COPYING
29 - README 43 - README
30 - README.md 44 - README.md
31 - RELNOTES 45 - RELNOTES
32 - SECURITY.md 46 - SECURITY.md
33 - 'etc/**' 47 - src/firecfg/firecfg.config
34 schedule: 48 schedule:
35 - cron: '0 7 * * 2' 49 - cron: '0 7 * * 2'
36 50
@@ -56,7 +70,7 @@ jobs:
56 70
57 steps: 71 steps:
58 - name: Harden Runner 72 - name: Harden Runner
59 uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 73 uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
60 with: 74 with:
61 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs 75 egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
62 76
diff --git a/.github/workflows/profile-checks.yml b/.github/workflows/profile-checks.yml
index f5de62412..17e756685 100644
--- a/.github/workflows/profile-checks.yml
+++ b/.github/workflows/profile-checks.yml
@@ -4,17 +4,17 @@ on:
4 push: 4 push:
5 branches: [ master ] 5 branches: [ master ]
6 paths: 6 paths:
7 - 'etc/**'
8 - 'ci/check/profiles/**' 7 - 'ci/check/profiles/**'
9 - 'src/firecfg/firecfg.config' 8 - 'etc/**'
10 - 'contrib/sort.py' 9 - contrib/sort.py
10 - src/firecfg/firecfg.config
11 pull_request: 11 pull_request:
12 branches: [ master ] 12 branches: [ master ]
13 paths: 13 paths:
14 - 'etc/**'
15 - 'ci/check/profiles/**' 14 - 'ci/check/profiles/**'
16 - 'src/firecfg/firecfg.config' 15 - 'etc/**'
17 - 'contrib/sort.py' 16 - contrib/sort.py
17 - src/firecfg/firecfg.config
18 18
19permissions: # added using https://github.com/step-security/secure-workflows 19permissions: # added using https://github.com/step-security/secure-workflows
20 contents: read 20 contents: read
@@ -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/RELNOTES b/RELNOTES
index 69ddc6845..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
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/email-common.profile b/etc/profile-a-l/email-common.profile
index 2b26b3727..89c44bf76 100644
--- a/etc/profile-a-l/email-common.profile
+++ b/etc/profile-a-l/email-common.profile
@@ -65,7 +65,7 @@ tracelog
65# disable-mnt 65# disable-mnt
66private-cache 66private-cache
67private-dev 67private-dev
68private-etc alternatives,ca-certificates,crypto-policies,dconf,fonts,gcrypt,gnupg,groups,gtk-2.0,gtk-3.0,hostname,hosts,hosts.conf,ld.so.cache,ld.so.preload,machine-id,mailname,nsswitch.conf,passwd,pki,resolv.conf,selinux,ssl,xdg 68private-etc alternatives,ca-certificates,crypto-policies,dconf,fonts,gcrypt,gnupg,groups,gtk-2.0,gtk-3.0,hostname,hosts,hosts.conf,ld.so.cache,ld.so.preload,localtime,machine-id,mailname,nsswitch.conf,passwd,pki,resolv.conf,selinux,ssl,xdg
69private-tmp 69private-tmp
70# encrypting and signing email 70# encrypting and signing email
71writable-run-user 71writable-run-user
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/lutris.profile b/etc/profile-a-l/lutris.profile
index 0562cf430..80cecd056 100644
--- a/etc/profile-a-l/lutris.profile
+++ b/etc/profile-a-l/lutris.profile
@@ -69,7 +69,8 @@ notv
69nou2f 69nou2f
70novideo 70novideo
71protocol unix,inet,inet6,netlink 71protocol unix,inet,inet6,netlink
72seccomp 72seccomp !modify_ldt
73seccomp.32 !modify_ldt
73 74
74# Add the next line to your lutris.local if you do not need controller support. 75# Add the next line to your lutris.local if you do not need controller support.
75#private-dev 76#private-dev
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