aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar smitsohu <smitsohu@gmail.com>2019-09-22 13:26:53 +0200
committerLibravatar smitsohu <smitsohu@gmail.com>2019-09-22 13:26:53 +0200
commit04057a4652e889e23b66d95da770e7e7abf75ba5 (patch)
tree077d19a3bae185e66ee495abff143680ab978246
parentminor optimization (diff)
parentInkscape: allow xcf export (diff)
downloadfirejail-04057a4652e889e23b66d95da770e7e7abf75ba5.tar.gz
firejail-04057a4652e889e23b66d95da770e7e7abf75ba5.tar.zst
firejail-04057a4652e889e23b66d95da770e7e7abf75ba5.zip
Merge branch 'master' of https://github.com/netblue30/firejail
-rw-r--r--.gitlab-ci.yml7
-rw-r--r--README.md2
-rw-r--r--RELNOTES2
-rwxr-xr-xcontrib/sort.py11
-rw-r--r--etc/disable-programs.inc2
-rw-r--r--etc/gnome-latex.profile46
-rw-r--r--etc/inkscape.profile4
-rw-r--r--etc/pngquant.profile47
-rw-r--r--etc/steam.profile2
-rw-r--r--etc/whitelist-common.inc4
-rw-r--r--src/firecfg/firecfg.config2
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
15build_debian_package: 16build_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
36build_src_package: 38build_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
44build_apparmor: 47build_apparmor:
45 image: ubuntu:latest 48 image: ubuntu:latest
diff --git a/README.md b/README.md
index b97d73e67..bd6ba406a 100644
--- a/README.md
+++ b/README.md
@@ -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
121gnome-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 121gnome-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
diff --git a/RELNOTES b/RELNOTES
index 5c50195e0..cad0b974c 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -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
22firejail (0.9.60) baseline; urgency=low 22firejail (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
24from sys import argv 24from sys import argv
25 25
26
26def sort_alphabetical(raw_items): 27def 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
31def sort_protocol(protocols): 33def 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
67def fix_profile(filename): 70def 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
97def main(args): 101def 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
116if __name__ == "__main__": 121if __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
183blacklist ${HOME}/.config/git 183blacklist ${HOME}/.config/git
184blacklist ${HOME}/.config/globaltime 184blacklist ${HOME}/.config/globaltime
185blacklist ${HOME}/.config/gnome-builder 185blacklist ${HOME}/.config/gnome-builder
186blacklist ${HOME}/.config/gnome-latex
186blacklist ${HOME}/.config/gnome-mplayer 187blacklist ${HOME}/.config/gnome-mplayer
187blacklist ${HOME}/.config/gnome-mpv 188blacklist ${HOME}/.config/gnome-mpv
188blacklist ${HOME}/.config/gnome-pie 189blacklist ${HOME}/.config/gnome-pie
@@ -502,6 +503,7 @@ blacklist ${HOME}/.local/share/gitg
502blacklist ${HOME}/.local/share/gnome-2048 503blacklist ${HOME}/.local/share/gnome-2048
503blacklist ${HOME}/.local/share/gnome-chess 504blacklist ${HOME}/.local/share/gnome-chess
504blacklist ${HOME}/.local/share/gnome-builder 505blacklist ${HOME}/.local/share/gnome-builder
506blacklist ${HOME}/.local/share/gnome-latex
505blacklist ${HOME}/.local/share/gnome-music 507blacklist ${HOME}/.local/share/gnome-music
506blacklist ${HOME}/.local/share/gnome-photos 508blacklist ${HOME}/.local/share/gnome-photos
507blacklist ${HOME}/.local/share/gnome-recipes 509blacklist ${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
5include gnome-latex.local
6# Persistent global definitions
7include globals.local
8
9noblacklist ${HOME}/.config/gnome-latex
10noblacklist ${HOME}/.local/share/gnome-latex
11
12# Allow perl (blacklisted by disable-interpreters.inc)
13include allow-perl.inc
14
15include disable-common.inc
16include disable-devel.inc
17include disable-exec.inc
18include disable-interpreters.inc
19include disable-passwdmgr.inc
20include disable-programs.inc
21
22# May cause issues.
23#include whitelist-var-common.inc
24
25apparmor
26caps.drop all
27machine-id
28net none
29no3d
30nodvd
31nogroups
32nonewprivs
33noroot
34nosound
35notv
36nou2f
37novideo
38protocol unix
39seccomp
40shell none
41tracelog
42
43private-cache
44private-dev
45# passwd,login.defs,firejail are a temporary workaround for #2877 and can be removed once it is fixed
46private-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
11noblacklist ${HOME}/.inkscape 11noblacklist ${HOME}/.inkscape
12noblacklist ${DOCUMENTS} 12noblacklist ${DOCUMENTS}
13noblacklist ${PICTURES} 13noblacklist ${PICTURES}
14# Allow exporting .xcf files
15noblacklist ${HOME}/.config/GIMP
16noblacklist ${HOME}/.gimp*
17
14 18
15# Allow python (blacklisted by disable-interpreters.inc) 19# Allow python (blacklisted by disable-interpreters.inc)
16include allow-python2.inc 20include 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
4quiet
5# Persistent local customizations
6include pngquant.local
7# Persistent global definitions
8include globals.local
9
10include disable-common.inc
11include disable-devel.inc
12include disable-exec.inc
13include disable-interpreters.inc
14include disable-passwdmgr.inc
15include disable-programs.inc
16
17include whitelist-var-common.inc
18
19apparmor
20caps.drop all
21ipc-namespace
22machine-id
23net none
24no3d
25nodbus
26nodvd
27nogroups
28nonewprivs
29noroot
30nosound
31notv
32nou2f
33novideo
34# protocol can be empty, but this is not yet supported see #639
35protocol inet
36seccomp
37shell none
38tracelog
39x11 none
40
41private-bin pngquant
42private-cache
43private-dev
44private-etc alternatives
45private-tmp
46
47memory-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
39include whitelist-var-common.inc 39include whitelist-var-common.inc
40 40
41# allow-debuggers needed for running some games with proton
42allow-debuggers
41caps.drop all 43caps.drop all
42#ipc-namespace 44#ipc-namespace
43netfilter 45netfilter
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
20whitelist ${HOME}/.local/share/mime 20whitelist ${HOME}/.local/share/mime
21whitelist ${HOME}/.mime.types 21whitelist ${HOME}/.mime.types
22 22
23# dconf
24mkdir ${HOME}/.config/dconf
25whitelist ${HOME}/.config/dconf
26
23# fonts 27# fonts
24whitelist ${HOME}/.cache/fontconfig 28whitelist ${HOME}/.cache/fontconfig
25whitelist ${HOME}/.config/fontconfig 29whitelist ${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
242gnome-contacts 242gnome-contacts
243gnome-documents 243gnome-documents
244gnome-font-viewer 244gnome-font-viewer
245gnome-latex
245gnome-logs 246gnome-logs
246gnome-maps 247gnome-maps
247gnome-mplayer 248gnome-mplayer
@@ -473,6 +474,7 @@ pitivi
473pix 474pix
474playonlinux 475playonlinux
475pluma 476pluma
477pngquant
476polari 478polari
477ppsspp 479ppsspp
478pragha 480pragha