Commit graph

4589 commits

Author SHA1 Message Date
rusty-snake
32688ce86e Add quiet to enchant-2, it has a cli 2024-03-03 16:38:57 +01:00
netblue30
071a5dabb2
Merge pull request #6219 from haplo/ledger-live-desktop
Profile for Ledger Live desktop app
2024-02-29 10:08:48 -05:00
netblue30
d9951088b1
Merge pull request #6228 from kmk3/landlock-add-fs
landlock: use "landlock.fs." prefix in filesystem commands
2024-02-29 10:08:08 -05:00
netblue30
5d1a1e61b9
Merge pull request #6227 from glitsj16/virt-manager
New profile: virt-manager
2024-02-29 10:07:01 -05:00
netblue30
d38e1e1cfc
Merge pull request #6226 from glitsj16/gnome-boxes
New profile: gnome-boxes
2024-02-29 10:06:27 -05:00
netblue30
54823b0c3d
Merge pull request #6216 from powerjungle/master
multimc: instances not running, because of missing permissions
2024-02-29 10:04:36 -05:00
Fidel Ramos
3dc3adc0d7
Profile for ledger-live-desktop
/opt/ledger-live installation currently sits at 345 MiB, so I decided to
whitelist it instead of using private-opt ledger-live, in case future
installations grow in size.

Not using private-dev was the only way I managed to get my USB wallet to
work.
2024-02-28 21:45:35 +00:00
Kelvin M. Klann
9cfeb485eb landlock: use "landlock.fs." prefix in filesystem commands
Since Landlock ABI v4 it is possible to restrict actions related to the
network and potentially more areas will be added in the future.

So use `landlock.fs.` as the prefix in the current filesystem-related
commands (and later `landlock.net.` for the network-related commands) to
keep them organized and to match what is used in the kernel.

Examples of filesystem and network access flags:

* `LANDLOCK_ACCESS_FS_EXECUTE`: Execute a file.
* `LANDLOCK_ACCESS_FS_READ_DIR`: Open a directory or list its content.
* `LANDLOCK_ACCESS_NET_BIND_TCP`: Bind a TCP socket to a local port.
* `LANDLOCK_ACCESS_NET_CONNECT_TCP`: Connect an active TCP socket to a
  remote port.

Relates to #6078.
2024-02-27 22:27:46 -03:00
glitsj16
82e30a8291
Create virt-manager.profile 2024-02-27 19:31:29 +00:00
glitsj16
b268682dda
disable-programs.inc: add virt-manager support 2024-02-27 19:29:22 +00:00
glitsj16
244b96f8f8
Create gnome-boxes.profile 2024-02-27 19:21:17 +00:00
glitsj16
4e2fb28e93
profiles: drop paths already in wusc (#6218)
Drop paths present in etc/inc/whitelist-usr-share-common.inc from
profiles that include it.
2024-02-23 07:11:58 +00:00
powerjungle
1a2e8ab852
multimc: instances not running, because of missing permissions
When starting an instance, in the logs, a failed attempt to load the lwjgl
library is shown and the game doesn't run.
The library is in the /tmp directory. The reason for this appears to
be, in the lwjgl source code, the shared library loading function,
extracts in the temporary directory and continues from there.
This is fixed by whitelisting.

The reason for adding "ignore noexec /tmp" as well, is that without it, the game
can't run, even if the directory is whitelisted. It seems the library needs
to be loaded from /tmp.

A second error for a failed attempt to access /home/user/.cache/JNA is also
shown in the logs. This is also fixed by whitelisting.
2024-02-19 18:21:11 +01:00
glitsj16
44e241261e
electron-cash: use new private-etc syntax 2024-02-19 09:07:55 +00:00
glitsj16
7ab8d45dcc
Merge pull request #6211 from glitsj16/nextcloud-fix
nextcloud: D-Bus filtering changes
2024-02-19 09:05:09 +00:00
glitsj16
2bca27a10b
Merge pull request #6181 from haplo/electron-cash
Profile for Electron Cash
2024-02-19 09:04:32 +00:00
glitsj16
5954f72e92
Merge pull request #6180 from haplo/rawtherapee
Profile for RawTherapee
2024-02-19 09:03:36 +00:00
glitsj16
b97e853a33
nextcloud: fix the comment link to the wiki FAQ 2024-02-16 22:02:46 +00:00
glitsj16
bc3968bb25
nextcloud: edit dbus comment as requested in review 2024-02-16 20:35:26 +00:00
glitsj16
15fc09ec77
nextcloud: harden D-Bus filtering 2024-02-16 20:21:11 +00:00
glitsj16
eded5cc728
Merge pull request #6201 from glitsj16/gnome-keyring-fixes
gnome-keyring: harden and add gnome-keyring-daemon.profile
2024-02-08 13:43:24 +00:00
glitsj16
12ef05da1c Create gnome-keyring-daemon.profile
And use it as the base for the existing gnome-keyring.profile.
2024-02-08 10:20:29 -03:00
glitsj16
c729b03cff gnome-keyring: harden and remove quiet 2024-02-08 10:18:21 -03:00
glitsj16
0aa809d7f6
enchant-lsmod-2: redirect to enchant-2 (#6202) 2024-02-08 06:26:15 +00:00
Kelvin M. Klann
e488eb3605
Merge pull request #6187 from kmk3/landlock-add-dev
landlock: split .special into .makeipc and .makedev
2024-02-05 07:44:09 +00:00
Fidel Ramos
98d168f3d9
geeqie.profile: allow Lua interpreter (#6183)
Recent versions of geeqie[1] use a Lua interpreter, like the one
currently in Arch Linux (2.2).

Without this fix it fails with:

    /usr/bin/geeqie: error while loading shared libraries: liblua.so.5.4: [...]

[1] https://www.geeqie.org/
2024-02-03 20:24:06 +00:00
Kelvin M. Klann
f70ffbe76c landlock: split .special into .makeipc and .makedev
As discussed with @topimiettinen[1], it is unlikely that an unprivileged
process would need to directly create block or character devices.  Also,
`landlock.special` is not very descriptive of what it allows.

So split `landlock.special` into:

* `landlock.makeipc`: allow creating named pipes and sockets (which are
  usually used for inter-process communication)
* `landlock.makedev`: allow creating block and character devices

Misc: The `makedev` name is based on `nodev` from mount(8), which makes
mount not interpret block and character devices.  `ipc` was suggested by
@rusty-snake[2].

Relates to #6078.

[1] https://github.com/netblue30/firejail/pull/6078#pullrequestreview-1740569786
[2] https://github.com/netblue30/firejail/pull/6187#issuecomment-1924107294
2024-02-02 19:37:06 -03:00
luca0N!
ba84566004
crawl.profile: allow lua (#6182)
Add common Lua include to crawl.profile (Dungeon Crawl Stone Soup) to
allow Lua libraries, as both the ncurses and tiles executables are
dynamically linked to Lua.
2024-02-02 03:28:20 +00:00
Kelvin M. Klann
bb45aa505d
tesseract.profile: add quiet (#6173)
Tesseract is a CLI program and its output may be parsed by other
programs (such as `ocrmypdf`).  Including messages from firejail in the
output may break the parsing, so remove them.

Fixes #6171.

Reported-by: @kmille
2024-01-31 19:33:49 +00:00
Fidel Ramos
84a5f1a60e
rawtherapee.profile 2024-01-31 11:28:13 +00:00
Fidel Ramos
f0cfc70cc3
Blacklist ~/.electron-cash in disable-programs.inc 2024-01-31 11:11:53 +00:00
Fidel Ramos
dae8e69915
electron-cash.profile 2024-01-30 23:36:43 +00:00
pirate486743186
bc47419f4e
profiles: add profiles for gtk youtube viewers symlinks (#6154)
Committer note: For each profile there is both XXX-gtk and gtk-XXX (such
as lbry-viewer-gtk and gtk-lbry-viewer).

XXX-gtk is the symlink
gtk-XXX is the actual file

Co-authored-by: exponential <echo ZXhwb25lbnRpYWxtYXRyaXhAcHJvdG9ubWFpbC5jb20K | base64 -d>
2024-01-19 14:31:50 +00:00
pirate486743186
a000f54ea7
lobster.profile: allow basename (#6155)
Co-authored-by: exponential <echo ZXhwb25lbnRpYWxtYXRyaXhAcHJvdG9ubWFpbC5jb20K | base64 -d>
2024-01-19 14:21:04 +00:00
Kelvin M. Klann
d35847f9a4
profiles: use only /usr/share/lua* (#6150)
To ensure that it includes luajit paths as well:

* /usr/share/lua
* /usr/share/luajit-2.1

And remove all entries of the same path without the wildcard, to avoid
redundancy.

Misc: The wildcard entries were added on commit 56b60dfd0 ("additional
Lua blacklisting (#3246)", 2020-02-24) and the entries without the
wildcard were partially removed on commit 721a984a5 ("Fix Lua in
disable-interpreters.inc", 2020-02-24).

This is a follow-up to #6128.

Reported-by: @pirate486743186
2024-01-08 11:56:27 +00:00
Kelvin M. Klann
e0ec601ab4 disable-devel.inc: deduplicate g++ and gcc entries
Added on commit 2d8ff695a ("WIP: Blacklist common programming
interpreters. (#1837)", 2018-04-02).
2024-01-05 00:53:49 -03:00
glitsj16
4e936f523c
man: allow Perl (#6143)
gropdf (`man -Tpdf`) needs Perl (see #6142).
2024-01-04 00:17:45 +00:00
netblue30
23c42be17d
Merge pull request #6128 from pirate486743186/master
mpv: whitelist /usr/share/mpv
2023-12-21 09:52:19 -05:00
netblue30
c245fec2d4
Merge pull request #6125 from kmk3/landlock-enforce
landlock: move commands into profile and add landlock.enforce
2023-12-21 09:50:22 -05:00
netblue30
46d70ca09d
Merge pull request #6118 from NetSysFire/patch-4
minecraft-launcher.profile: allow keyring access
2023-12-21 09:49:25 -05:00
Kelvin M. Klann
56391cf84f
obs.profile: allow lua (#6131)
Some plugins may require it[1]:

    error: os_dlopen([...]): libluajit-5.1.so.2: [...]: Permission denied

    warning: Module '/usr//lib/obs-plugins/frontend-tools.so' not loaded

[1] https://github.com/netblue30/firejail/issues/6130#issue-2040800338
2023-12-14 21:36:34 +00:00
pirate486743186
d0ee85981e mpv: whitelist /usr/share/mpv
Use case: You install scripts in  `/usr/share/mpv` but they remain
inactive. You then symlink them to `/etc/mpv` to activate them if you
want.
2023-12-13 23:29:50 -03:00
Kelvin M. Klann
760f50f78a landlock: move commands into profile and add landlock.enforce
Changes:

* Move commands from --landlock and --landlock.proc= into
  etc/inc/landlock-common.inc
* Remove --landlock and --landlock.proc=
* Add --landlock.enforce

Instead of hard-coding the default commands (and having a separate
command just for /proc), move them into a dedicated profile to make it
easier for users to interact with the entries (view, copy, add ignore
entries, etc).

Only enforce the Landlock commands if --landlock.enforce is supplied.
This allows safely adding Landlock commands to (upstream) profiles while
keeping their enforcement opt-in.  It also makes it simpler to
effectively disable all Landlock commands, by using
`--ignore=landlock.enforce`.

Relates to #6078.
2023-12-11 22:47:11 -03:00
glitsj16
b2850f9f58
curl: add support for ~/.config/curlrc (#6120)
curl supports several locations for the rc file according to its man
page:

[...]
When curl is invoked, it (unless -q, --disable is used) checks for a
default config file and uses it if found, even when -K, --config is
used. The default config file is checked for in the following places in
this order:

1) "$CURL_HOME/.curlrc"
2) "$XDG_CONFIG_HOME/curlrc" (Added in 7.73.0)
3) "$HOME/.curlrc"
[...]
2023-12-11 17:35:35 +00:00
archaon616
3d80f604c8
steam.profile: Allow Project Zomboid (#6117) 2023-12-11 17:29:22 +00:00
Kelvin M. Klann
4347f06aa9 fractal.profile: allow /usr/share/fractal
This fixes Fractal 5 not opening on Void Linux due to it failing to
access "/usr/share/fractal/resources.gresource".

Fixes #6119.

Reported-by: @mhmdana
Suggested-by: @rusty-snake
2023-12-11 14:26:52 -03:00
NetSysFire
e70bde448f
Use dbus-user filter 2023-12-08 22:31:52 +01:00
NetSysFire
4465d30f4e
Update minecraft-launcher.profile 2023-12-07 20:51:52 +01:00
Kelvin M. Klann
3dc48e1ab3 lutris.profile: allow mangohud
Similarly to steam.profile (see #4864).

Fixes #6106.
2023-11-27 03:16:18 -03:00
Kelvin M. Klann
7d05a6a2c7 lutris.profile: fix seccomp arguments
I accidentally removed the `!` when sorting the arguments in #6067.

This amends commit fbba03790 ("lutris.profile: allow more syscalls",
2023-10-24) / PR #6067.
2023-11-25 10:07:42 -03:00