diff options
-rw-r--r-- | .gitlab-ci.yml | 7 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | RELNOTES | 2 | ||||
-rwxr-xr-x | contrib/sort.py | 11 | ||||
-rw-r--r-- | etc/disable-programs.inc | 2 | ||||
-rw-r--r-- | etc/gnome-latex.profile | 46 | ||||
-rw-r--r-- | etc/inkscape.profile | 4 | ||||
-rw-r--r-- | etc/pngquant.profile | 47 | ||||
-rw-r--r-- | etc/steam.profile | 2 | ||||
-rw-r--r-- | etc/whitelist-common.inc | 4 | ||||
-rw-r--r-- | src/firecfg/firecfg.config | 2 |
11 files changed, 122 insertions, 7 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 37e5cc2d0..19dd2b320 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml | |||
@@ -9,8 +9,9 @@ build_ubuntu_package: | |||
9 | image: ubuntu:rolling | 9 | image: ubuntu:rolling |
10 | script: | 10 | script: |
11 | - apt-get update -qq | 11 | - apt-get update -qq |
12 | - apt-get install -y -qq build-essential lintian pkg-config | 12 | - apt-get install -y -qq build-essential lintian pkg-config python3 |
13 | - ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb | 13 | - ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb |
14 | - python3 contrib/sort.py etc/*.{profile,inc} | ||
14 | 15 | ||
15 | build_debian_package: | 16 | build_debian_package: |
16 | image: debian:jessie | 17 | image: debian:jessie |
@@ -32,14 +33,16 @@ build_fedora_package: | |||
32 | - dnf update -y | 33 | - dnf update -y |
33 | - dnf install -y rpm-build gcc make | 34 | - dnf install -y rpm-build gcc make |
34 | - ./configure --prefix=/usr && make rpms && rpm -i firejail*.rpm | 35 | - ./configure --prefix=/usr && make rpms && rpm -i firejail*.rpm |
36 | - python3 contrib/sort.py etc/*.{profile,inc} | ||
35 | 37 | ||
36 | build_src_package: | 38 | build_src_package: |
37 | image: alpine:latest | 39 | image: alpine:latest |
38 | script: | 40 | script: |
39 | - apk update | 41 | - apk update |
40 | - apk upgrade | 42 | - apk upgrade |
41 | - apk add build-base linux-headers | 43 | - apk add build-base linux-headers python3 |
42 | - ./configure --prefix=/usr && make && make install-strip | 44 | - ./configure --prefix=/usr && make && make install-strip |
45 | # - python3 contrib/sort.py etc/*.{profile,inc} | ||
43 | 46 | ||
44 | build_apparmor: | 47 | build_apparmor: |
45 | image: ubuntu:latest | 48 | image: ubuntu:latest |
@@ -118,4 +118,4 @@ We also keep a list of profile fixes for previous released versions in [etc-fixe | |||
118 | 118 | ||
119 | ## New profiles: | 119 | ## New profiles: |
120 | 120 | ||
121 | gnome-sound-recorder, godot, jerry, keepassxc-cli, keepassxc-proxy, klatexformula, klatexformula_cmdl, links, newsbeuter, OpenArena, pandoc, qgis, rhythmbox-client, tcpdump, teams-for-linux, tshark, xlinks, zeal, mpg123, conplay, mpg123.bin, mpg123-alsa, mpg123-id3dump, mpg123-jack, mpg123-nas, mpg123-openal, mpg123-oss, mpg123-portaudio, mpg123-pulse, mpg123-strip, out123, pavucontrol-qt, gnome-characters, gnome-character-map, rsync, Whalebird, tor-browser (AUR), Zulip, tb-starter-wrapper, bzcat, kiwix-desktop | 121 | gnome-sound-recorder, godot, jerry, keepassxc-cli, keepassxc-proxy, klatexformula, klatexformula_cmdl, links, newsbeuter, OpenArena, pandoc, qgis, rhythmbox-client, tcpdump, teams-for-linux, tshark, xlinks, zeal, mpg123, conplay, mpg123.bin, mpg123-alsa, mpg123-id3dump, mpg123-jack, mpg123-nas, mpg123-openal, mpg123-oss, mpg123-portaudio, mpg123-pulse, mpg123-strip, out123, pavucontrol-qt, gnome-characters, gnome-character-map, rsync, Whalebird, tor-browser (AUR), Zulip, tb-starter-wrapper, bzcat, kiwix-desktop, ar, gnome-latex, pngquant |
@@ -16,7 +16,7 @@ firejail (0.9.61) baseline; urgency=low | |||
16 | * new profiles: gnome-characters, gnome-character-map, rsync, Whalebird, | 16 | * new profiles: gnome-characters, gnome-character-map, rsync, Whalebird, |
17 | * new profiles: tor-browser (AUR), Zulip, tb-starter-wrapper, bzcat, | 17 | * new profiles: tor-browser (AUR), Zulip, tb-starter-wrapper, bzcat, |
18 | * new profiles: kiwix-desktop, bzcat, zstd, pzstd, zstdcat, zstdgrep, zstdless | 18 | * new profiles: kiwix-desktop, bzcat, zstd, pzstd, zstdcat, zstdgrep, zstdless |
19 | * new profiles: zstdmt, unzstd, i2p | 19 | * new profiles: zstdmt, unzstd, i2p, ar, gnome-latex, pngquant |
20 | -- netblue30 <netblue30@yahoo.com> Sat, 1 Jun 2019 08:00:00 -0500 | 20 | -- netblue30 <netblue30@yahoo.com> Sat, 1 Jun 2019 08:00:00 -0500 |
21 | 21 | ||
22 | firejail (0.9.60) baseline; urgency=low | 22 | firejail (0.9.60) baseline; urgency=low |
diff --git a/contrib/sort.py b/contrib/sort.py index 97315fba8..f77e2a1fc 100755 --- a/contrib/sort.py +++ b/contrib/sort.py | |||
@@ -23,11 +23,13 @@ Exit-Codes: | |||
23 | # python >= 3.6 | 23 | # python >= 3.6 |
24 | from sys import argv | 24 | from sys import argv |
25 | 25 | ||
26 | |||
26 | def sort_alphabetical(raw_items): | 27 | def sort_alphabetical(raw_items): |
27 | items = raw_items.split(",") | 28 | items = raw_items.split(",") |
28 | items.sort(key=lambda s: s.casefold()) | 29 | items.sort(key=lambda s: s.casefold()) |
29 | return ",".join(items) | 30 | return ",".join(items) |
30 | 31 | ||
32 | |||
31 | def sort_protocol(protocols): | 33 | def sort_protocol(protocols): |
32 | """sort the given protocole into this scheme: unix,inet,inet6,netlink,packet""" | 34 | """sort the given protocole into this scheme: unix,inet,inet6,netlink,packet""" |
33 | # shortcut for common protocol lines | 35 | # shortcut for common protocol lines |
@@ -64,6 +66,7 @@ def sort_protocol(protocols): | |||
64 | fixed_protocols += "packet," | 66 | fixed_protocols += "packet," |
65 | return fixed_protocols[:-1] | 67 | return fixed_protocols[:-1] |
66 | 68 | ||
69 | |||
67 | def fix_profile(filename): | 70 | def fix_profile(filename): |
68 | with open(filename, "r+") as profile: | 71 | with open(filename, "r+") as profile: |
69 | lines = profile.read().split("\n") | 72 | lines = profile.read().split("\n") |
@@ -94,6 +97,7 @@ def fix_profile(filename): | |||
94 | return 101 | 97 | return 101 |
95 | return 0 | 98 | return 0 |
96 | 99 | ||
100 | |||
97 | def main(args): | 101 | def main(args): |
98 | exit_code = 0 | 102 | exit_code = 0 |
99 | for filename in args: | 103 | for filename in args: |
@@ -103,15 +107,16 @@ def main(args): | |||
103 | else: | 107 | else: |
104 | fix_profile(filename) | 108 | fix_profile(filename) |
105 | except FileNotFoundError: | 109 | except FileNotFoundError: |
106 | print(f"[ Error ] Can't find {filename}") | 110 | print(f"[ Error ] Can't find `{filename}'") |
107 | exit_code = 1 | 111 | exit_code = 1 |
108 | except PermissionError: | 112 | except PermissionError: |
109 | print(f"[ Error ] Can't read/write {filename}") | 113 | print(f"[ Error ] Can't read/write `{filename}'") |
110 | exit_code = 1 | 114 | exit_code = 1 |
111 | except: | 115 | except: |
112 | print(f"[ Error ] An error occurred while processing {filename}") | 116 | print(f"[ Error ] An error occurred while processing `{filename}'") |
113 | exit_code = 1 | 117 | exit_code = 1 |
114 | return exit_code | 118 | return exit_code |
115 | 119 | ||
120 | |||
116 | if __name__ == "__main__": | 121 | if __name__ == "__main__": |
117 | exit(main(argv[1:])) | 122 | exit(main(argv[1:])) |
diff --git a/etc/disable-programs.inc b/etc/disable-programs.inc index e54b651a6..7dbe535fe 100644 --- a/etc/disable-programs.inc +++ b/etc/disable-programs.inc | |||
@@ -183,6 +183,7 @@ blacklist ${HOME}/.config/ghostwriter | |||
183 | blacklist ${HOME}/.config/git | 183 | blacklist ${HOME}/.config/git |
184 | blacklist ${HOME}/.config/globaltime | 184 | blacklist ${HOME}/.config/globaltime |
185 | blacklist ${HOME}/.config/gnome-builder | 185 | blacklist ${HOME}/.config/gnome-builder |
186 | blacklist ${HOME}/.config/gnome-latex | ||
186 | blacklist ${HOME}/.config/gnome-mplayer | 187 | blacklist ${HOME}/.config/gnome-mplayer |
187 | blacklist ${HOME}/.config/gnome-mpv | 188 | blacklist ${HOME}/.config/gnome-mpv |
188 | blacklist ${HOME}/.config/gnome-pie | 189 | blacklist ${HOME}/.config/gnome-pie |
@@ -502,6 +503,7 @@ blacklist ${HOME}/.local/share/gitg | |||
502 | blacklist ${HOME}/.local/share/gnome-2048 | 503 | blacklist ${HOME}/.local/share/gnome-2048 |
503 | blacklist ${HOME}/.local/share/gnome-chess | 504 | blacklist ${HOME}/.local/share/gnome-chess |
504 | blacklist ${HOME}/.local/share/gnome-builder | 505 | blacklist ${HOME}/.local/share/gnome-builder |
506 | blacklist ${HOME}/.local/share/gnome-latex | ||
505 | blacklist ${HOME}/.local/share/gnome-music | 507 | blacklist ${HOME}/.local/share/gnome-music |
506 | blacklist ${HOME}/.local/share/gnome-photos | 508 | blacklist ${HOME}/.local/share/gnome-photos |
507 | blacklist ${HOME}/.local/share/gnome-recipes | 509 | blacklist ${HOME}/.local/share/gnome-recipes |
diff --git a/etc/gnome-latex.profile b/etc/gnome-latex.profile new file mode 100644 index 000000000..9cef9072c --- /dev/null +++ b/etc/gnome-latex.profile | |||
@@ -0,0 +1,46 @@ | |||
1 | # Firejail profile for gnome-latex | ||
2 | # Description: LaTeX editor for the GNOME desktop | ||
3 | # This file is overwritten after every install/update | ||
4 | # Persistent local customizations | ||
5 | include gnome-latex.local | ||
6 | # Persistent global definitions | ||
7 | include globals.local | ||
8 | |||
9 | noblacklist ${HOME}/.config/gnome-latex | ||
10 | noblacklist ${HOME}/.local/share/gnome-latex | ||
11 | |||
12 | # Allow perl (blacklisted by disable-interpreters.inc) | ||
13 | include allow-perl.inc | ||
14 | |||
15 | include disable-common.inc | ||
16 | include disable-devel.inc | ||
17 | include disable-exec.inc | ||
18 | include disable-interpreters.inc | ||
19 | include disable-passwdmgr.inc | ||
20 | include disable-programs.inc | ||
21 | |||
22 | # May cause issues. | ||
23 | #include whitelist-var-common.inc | ||
24 | |||
25 | apparmor | ||
26 | caps.drop all | ||
27 | machine-id | ||
28 | net none | ||
29 | no3d | ||
30 | nodvd | ||
31 | nogroups | ||
32 | nonewprivs | ||
33 | noroot | ||
34 | nosound | ||
35 | notv | ||
36 | nou2f | ||
37 | novideo | ||
38 | protocol unix | ||
39 | seccomp | ||
40 | shell none | ||
41 | tracelog | ||
42 | |||
43 | private-cache | ||
44 | private-dev | ||
45 | # passwd,login.defs,firejail are a temporary workaround for #2877 and can be removed once it is fixed | ||
46 | private-etc alternatives,dconf,fonts,gtk-3.0,latexmk.conf,login.defs,passwd,texlive | ||
diff --git a/etc/inkscape.profile b/etc/inkscape.profile index a1b3bce23..a968609a9 100644 --- a/etc/inkscape.profile +++ b/etc/inkscape.profile | |||
@@ -11,6 +11,10 @@ noblacklist ${HOME}/.config/inkscape | |||
11 | noblacklist ${HOME}/.inkscape | 11 | noblacklist ${HOME}/.inkscape |
12 | noblacklist ${DOCUMENTS} | 12 | noblacklist ${DOCUMENTS} |
13 | noblacklist ${PICTURES} | 13 | noblacklist ${PICTURES} |
14 | # Allow exporting .xcf files | ||
15 | noblacklist ${HOME}/.config/GIMP | ||
16 | noblacklist ${HOME}/.gimp* | ||
17 | |||
14 | 18 | ||
15 | # Allow python (blacklisted by disable-interpreters.inc) | 19 | # Allow python (blacklisted by disable-interpreters.inc) |
16 | include allow-python2.inc | 20 | include allow-python2.inc |
diff --git a/etc/pngquant.profile b/etc/pngquant.profile new file mode 100644 index 000000000..8c06cef1a --- /dev/null +++ b/etc/pngquant.profile | |||
@@ -0,0 +1,47 @@ | |||
1 | # Firejail profile for pngquant | ||
2 | # Description: PNG converter and lossy image compressor | ||
3 | # This file is overwritten after every install/update | ||
4 | quiet | ||
5 | # Persistent local customizations | ||
6 | include pngquant.local | ||
7 | # Persistent global definitions | ||
8 | include globals.local | ||
9 | |||
10 | include disable-common.inc | ||
11 | include disable-devel.inc | ||
12 | include disable-exec.inc | ||
13 | include disable-interpreters.inc | ||
14 | include disable-passwdmgr.inc | ||
15 | include disable-programs.inc | ||
16 | |||
17 | include whitelist-var-common.inc | ||
18 | |||
19 | apparmor | ||
20 | caps.drop all | ||
21 | ipc-namespace | ||
22 | machine-id | ||
23 | net none | ||
24 | no3d | ||
25 | nodbus | ||
26 | nodvd | ||
27 | nogroups | ||
28 | nonewprivs | ||
29 | noroot | ||
30 | nosound | ||
31 | notv | ||
32 | nou2f | ||
33 | novideo | ||
34 | # protocol can be empty, but this is not yet supported see #639 | ||
35 | protocol inet | ||
36 | seccomp | ||
37 | shell none | ||
38 | tracelog | ||
39 | x11 none | ||
40 | |||
41 | private-bin pngquant | ||
42 | private-cache | ||
43 | private-dev | ||
44 | private-etc alternatives | ||
45 | private-tmp | ||
46 | |||
47 | memory-deny-write-execute | ||
diff --git a/etc/steam.profile b/etc/steam.profile index 654ea825e..762cbd1b3 100644 --- a/etc/steam.profile +++ b/etc/steam.profile | |||
@@ -38,6 +38,8 @@ include disable-programs.inc | |||
38 | 38 | ||
39 | include whitelist-var-common.inc | 39 | include whitelist-var-common.inc |
40 | 40 | ||
41 | # allow-debuggers needed for running some games with proton | ||
42 | allow-debuggers | ||
41 | caps.drop all | 43 | caps.drop all |
42 | #ipc-namespace | 44 | #ipc-namespace |
43 | netfilter | 45 | netfilter |
diff --git a/etc/whitelist-common.inc b/etc/whitelist-common.inc index 717c82379..9c1b7b92c 100644 --- a/etc/whitelist-common.inc +++ b/etc/whitelist-common.inc | |||
@@ -20,6 +20,10 @@ whitelist ${HOME}/.local/share/icons | |||
20 | whitelist ${HOME}/.local/share/mime | 20 | whitelist ${HOME}/.local/share/mime |
21 | whitelist ${HOME}/.mime.types | 21 | whitelist ${HOME}/.mime.types |
22 | 22 | ||
23 | # dconf | ||
24 | mkdir ${HOME}/.config/dconf | ||
25 | whitelist ${HOME}/.config/dconf | ||
26 | |||
23 | # fonts | 27 | # fonts |
24 | whitelist ${HOME}/.cache/fontconfig | 28 | whitelist ${HOME}/.cache/fontconfig |
25 | whitelist ${HOME}/.config/fontconfig | 29 | whitelist ${HOME}/.config/fontconfig |
diff --git a/src/firecfg/firecfg.config b/src/firecfg/firecfg.config index 502449839..f90d6c6bc 100644 --- a/src/firecfg/firecfg.config +++ b/src/firecfg/firecfg.config | |||
@@ -242,6 +242,7 @@ gnome-clocks | |||
242 | gnome-contacts | 242 | gnome-contacts |
243 | gnome-documents | 243 | gnome-documents |
244 | gnome-font-viewer | 244 | gnome-font-viewer |
245 | gnome-latex | ||
245 | gnome-logs | 246 | gnome-logs |
246 | gnome-maps | 247 | gnome-maps |
247 | gnome-mplayer | 248 | gnome-mplayer |
@@ -473,6 +474,7 @@ pitivi | |||
473 | pix | 474 | pix |
474 | playonlinux | 475 | playonlinux |
475 | pluma | 476 | pluma |
477 | pngquant | ||
476 | polari | 478 | polari |
477 | ppsspp | 479 | ppsspp |
478 | pragha | 480 | pragha |