Commit graph

38 commits

Author SHA1 Message Date
Kelvin M. Klann
85962902a8 profiles: keepassxc: sort noblacklist section 2026-05-09 10:20:32 -03:00
Kelvin M. Klann
88652cdb38
profiles: firefox: add new ~/.config/mozilla dir (#7061)
Default directories in Firefox 146 and earlier:

* ~/.cache/mozilla  # cache files
* ~/.mozilla        # config and data

In Firefox 147[1]:

* ~/.cache/mozilla  # cache files
* ~/.config/mozilla # config and data

Note that the new location apparently contains the same files as in the
former location (including settings, bookmarks, extensions, etc).
That is, even though the new directory resides in `$XDG_CONFIG_HOME` /
~/.config, it is not solely used for program configuration as described
in the XDG Base Directory specification[2] and `$XDG_DATA_HOME` /
~/.local/share/mozilla is seemingly not used at all (see also the
discussion in the bug tracker[3]).

Commands used to search and replace:

    $ perl -pi -e 's/(.* )(\${HOME}\/\.mozilla)(.*)/$1\${HOME}\/.config\/mozilla$3\n$1$2$3/' \
      -- \
      etc/inc/*.inc \
      etc/profile*/*.profile \

Note: The entries in the following profiles were sorted manually:

* etc/inc/disable-common.inc
* etc/inc/disable-programs.inc
* etc/profile-a-l/keepassxc.profile
* etc/profile-a-l/krunner.profile
* etc/profile-m-z/seamonkey.profile

Relates to #7040.

[1] https://www.firefox.com/en-US/firefox/147.0/releasenotes/
[2] https://specifications.freedesktop.org/basedir/latest/
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=259356
2026-02-15 08:49:28 +00:00
RedRampage
b2d5d173cb profiles: Add socket-activated ssh-agent socket
Added another default ssh-agent socket path, that is used in Debian for
socket-activated agent.
2025-12-02 00:15:52 +03:00
Kelvin M. Klann
174d83fba3
profiles: keepassxc: add x11 group to private-etc (#6828)
It is a GUI program and without it the program does not start due to a
dbus error[1]:

    $ firejail keepassxc
    Reading profile /etc/firejail/keepassxc.profile
    [...]
    firejail version 0.9.74
    [...]
    Child process initialized in 698.63 ms
    dbus[23]: D-Bus library appears to be incorrectly set up: see the manual page for dbus-uuidgen to correct this issue. (Failed to open "/var/lib/dbus/machine-id": No such file or directory; Failed to open "/etc/machine-id": No such file or directory)
      D-Bus not built with -rdynamic so unable to print a backtrace

    Parent is shutting down, bye...

This issue is also mentioned in src/include/etc_groups.h:

    // @x11
    static char *etc_group_x11[] = {
        // [...]
        "machine-id", // QT dbus lib is crashing without it!
        // [...]
        NULL
    };

This amends commit 5d0822c52 ("private-etc: big profile changes",
2023-02-05).

Fixes #6827.

Relates to #6400.

[1] https://github.com/netblue30/firejail/issues/6827#issue-3228990975

Reported-by: @Rosika2
2025-07-16 19:31:55 +00:00
Kelvin M. Klann
9a3dc2c0c3
keepassxc: allow access to ssh-agent socket (#6531)
Fixes #3314.

Relates to #6529.
2024-11-07 02:30:28 +00:00
qdii
c2cd8b72c6
profiles: keepassxc: add new socket location (#6391)
The KeePassXC browser extension looks for the KeePassXC socket at
`${RUNUSER}/app/org.keepassxc.KeePassXC`[1].

But `${RUNUSER}/app` seems to be blacklisted in disable-common.inc under the
flatpak section[2], so the KeePassXC extension cannot connect to it.

Fixes #5447.

Relates to #3984.

[1] 6b1ab1a5ed/src/browser/BrowserShared.cpp (L41)
[2] b89ec81892/etc/inc/disable-common.inc (L667)
2024-09-28 12:54:24 +00:00
Thijs Raymakers
1bbb5a50cc keepassxc: Allow offering the Secret Service
KeePassXC can offer a Secret Service to store secrets for other
programs.

See https://specifications.freedesktop.org/secret-service/latest/
2023-03-21 19:56:46 -03:00
netblue30
5d0822c52c private-etc: big profile changes 2023-02-05 10:17:26 -05:00
smitsohu
e4f0f91ebd add restrict-namespaces to (almost) all profiles 2022-12-20 01:39:53 +01:00
rusty-snake
8049562ef2 Remove shell none from profiles
Command: sed -i "/^shell none/d" etc/*/*

TODO:

```
etc/profile-a-l/beaker.profile:ignore shell none
etc/profile-a-l/default.profile:# shell none
etc/profile-a-l/fdns.profile:#shell none
etc/profile-a-l/gnome-nettool.profile:#shell none
etc/profile-a-l/jitsi-meet-desktop.profile:ignore shell none
etc/profile-m-z/pidgin.profile:# shell none
etc/profile-m-z/rocketchat.profile:ignore shell none
etc/profile-m-z/server.profile:# shell none
etc/templates/profile.template:#   OPTIONS (caps*, net*, no*, protocol, seccomp*, shell none, tracelog)
etc/templates/profile.template:#shell none
```

- manpage
- RELNOTES
- fbuilder
2022-06-19 20:53:39 +02:00
Kelvin M. Klann
91b04172b1 keepass*: fix typo in private-dev note
s/nou2f/private-dev/

This amends commit 8a718ff4a ("keepass*: note that private-dev blocks
access to new hardware keys", 2022-02-05).
2022-02-06 19:57:23 -03:00
Kelvin M. Klann
8a718ff4a7 keepass*: note that private-dev blocks access to new hardware keys
Which may be surprising to some users (see #4883).

Fixes #4883.
2022-02-05 21:47:58 -03:00
Kelvin M. Klann
09ac1a73e8 keepass*: remove nou2f
At least keepassxc supports U2F and password managers seem like they
would be a common use case for it.

See the discussion on #4883.
2022-02-05 21:44:51 -03:00
rusty-snake
4a50d77840 Use ?ALLOW_TRAY: (#4510) in profiles 2021-10-09 15:04:59 +02:00
rusty-snake
d8d97acbd9 Add ld.so.preload to all private-etc lines
Command:

    sed -i -E "s/^private-etc /private-etc ld.so.preload,/" \
        $(grep -LE "^private-etc .*ld.so.preload" etc/profile-*/*) \
        && python3 contrib/sort.py etc/profile-*/*
2021-09-18 22:57:55 +02:00
rusty-snake
263e3fe723 Profile fixes
- disable-programs.inc: blacklist ${HOME}/.local/state/pipewire
  If you did not yet noticed, on 08th May 2021 the XDG Base Directory
  Specification 0.8 was resleased (the first update since 2010). New are
  $XDG_STATE_HOME and $HOME/.local/bin.
- keepassxc: mkdirs are necessary
- gnote: harden
- pngquant: harden
2021-09-04 19:04:03 +02:00
rusty-snake
ca8603c09d
Move disable-passwordmgr.inc into disable-common.inc/disable-programs.inc (#4461)
See #4454
2021-08-12 17:25:47 +00:00
rusty-snake
d423b0c12c Update keepassxc.profile
- Add whitelist-run-common.inc
- Drop netlink (there are no error or borken feature for me (including
  auto-type))
- Second update for the dbus-policy
2021-08-09 21:08:02 +02:00
rusty-snake
16aa6f1e01 Revice keepassxc's dbus policy 2021-08-05 17:28:15 +02:00
Kelvin M. Klann
f43382f1e9 Revert "move whitelist/blacklist to allow/deny"
This reverts commit fe0f975f44.

Note: This only reverts the changes from etc.

The 4 aliases introduced on commit 45f2ba544 are mere, well, aliases.
That is, they fail to address the different usability problems discussed
on [#3447][3447] and in fact only make things more confusing (as has
already been mentioned on [this][4379] and later comments).  The main
reason is that the aliases do not meaningfully map to the original
commands.  For example, the commands from each pair below seem like they
would do the exact same thing:

* `allow` and `nodeny`
* `deny` and `noallow`

Additionally, if these aliases are not the final commands, but only a
test/work-in-progress, then keeping the wide-scale search/replace
changes made on commit fe0f975f4 would only serve to cause confusion, as
users of firejail-git, contributors and downstream projects might start
changing the commands used on their profiles, only to later have to
change them again, potentially to completely different commands.

The sooner this is undone the better, as (besides the above reasons) the
more profile changes there are between the original commit and the
revert, the harder it is to e.g.: `git diff` versions of files across
the following revision ranges: before the commit, after the commit but
before the revert and after the revert.  Note: This is still the case
even if a commit is [ignored by `git blame`][4390].

So let us revert fe0f975f4 and only reapply similar large-scale changes
once we have discussed and settled on better commands.

How the revert was applied: Despite using the auto-generated message
from `git revert`, to ensure correctness and to avoid conflicts the
changes were reverted in different steps: Firstly, revert the files
which can be safely reverted directly ("filestorevert"):

    # Find out which files have been changed on fe0f975f44, but have not
    # been changed afterwards and list them on "filestorevert"
    git show --pretty='' --name-only fe0f975f44 -- etc | LC_ALL=C sort >allfiles
    git diff --name-only fe0f975f44..master -- etc | LC_ALL=C sort >filestoignore
    comm -2 -3 allfiles filestoignore >filestorevert

    # Note: There are 3 extra files on filestoignore because they were
    # added after commit fe0f975f44
    wc -l allfiles filestoignore filestorevert | head -n 3
    #   797 allfiles
    #     8 filestoignore
    #   792 filestorevert

    # Automatically revert files in "filestorevert"
    # See https://stackoverflow.com/a/23401018/10095231
    tr '\n' '\000' <filestorevert | xargs -0 git show fe0f975f44 -- |
    git apply --reverse

    printf 'Total files reverted:\n'
    git diff --name-only | wc -l
    # 792

Secondly, do some search/replace on the rest:

    tr '\n' '\000' <filestoignore | xargs -0 sed -i.bak \
      -e 's/allow  /whitelist /' -e 's/noallow  /nowhitelist /' \
      -e 's/deny  /blacklist /' -e 's/nodeny  /noblacklist /' \
      -e 's/deny-nolog  /blacklist-nolog /'

    find etc -name '*.bak' -print0 | xargs -0 rm

Thirdly, verify the result.  The following command shows the difference
between all the changes in etc from before fe0f975f44 and this commit
(inclusive):

    git diff fe0f975f44~1 -- etc

From the output, it looks like all alias changes are fully reverted and
that the other changes to etc (from after fe0f975f44) remain, so the
revert seems to be done correctly.

[3447]: https://github.com/netblue30/firejail/issues/3447
[4379]: https://github.com/netblue30/firejail/issues/4379#issuecomment-876460222
[4390]: https://github.com/netblue30/firejail/issues/4390
2021-07-18 20:39:14 -03:00
netblue30
fe0f975f44 move whitelist/blacklist to allow/deny 2021-07-05 07:23:31 -04:00
rusty-snake
459a186b22 Restrict /usr/libexec 2021-05-29 09:34:57 +02:00
rusty-snake
0cee0ba5a0 Add noinput to all profiles with private-dev 2021-05-05 06:03:18 +00:00
Neo00001
440a48e758 Some minor changes 2021-04-26 21:31:50 +05:30
glitsj16
91185bbc4a
Encourage making overrides in *.local files (#4165)
* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments

* refactor local override comments
2021-04-06 09:26:30 +00:00
Kelvin M. Klann
8e8346f865 Revert "etc: use ${DOCUMENTS} macro where appropriate"
This reverts commit 5df1f27c63.

That commit breaks things, as pointed out by @rusty-snake[1]:

> @kmk3 @glitsj16 The xdg macros are treated literally if they have sub
> components (#2359):
>
> ```
> Error: "${DOCUMENTS}/KeePassXC" is an invalid filename: rejected character: "{"
> ```

[1]: 3fa2927c3c (commitcomment-46913219)
2021-02-09 17:27:33 +00:00
Kelvin M. Klann
5df1f27c63 etc: use ${DOCUMENTS} macro where appropriate
Currently, some paths are hard-coded:

    $ grep -Fnr '${HOME}/Documents' etc etc-fixes
    etc/profile-m-z/Mathematica.profile:19:mkdir ${HOME}/Documents/Wolfram Mathematica
    etc/profile-m-z/Mathematica.profile:22:whitelist ${HOME}/Documents/Wolfram Mathematica
    etc/profile-a-l/keepassxc.profile:34:# If you do so, you MUST store your database under ${HOME}/Documents/KeePassXC/foo.kdbx
    etc/profile-a-l/keepassxc.profile:35:#mkdir ${HOME}/Documents/KeePassXC
    etc/profile-a-l/keepassxc.profile:36:#whitelist ${HOME}/Documents/KeePassXC

Commands used to search and replace:

    $ find etc etc-fixes/ -type f -exec \
      sed -i.bak -e 's|\${HOME}/Documents|${DOCUMENTS}|' '{}' +

Related to that, the (lack of) usage of ${DOWNLOADS} has been recently
fixed on commit deae31301 ("use ${DOWNLOADS} in lutris.profile
(#3955)").

With the above change, all macros other than ${DOCUMENTS} seem to be
already used appropriately:

    $ grep -Fnr '${HOME}/Desktop' etc etc-fixes
    $ grep -Fnr '${HOME}/Downloads' etc etc-fixes
    $ grep -Fnr '${HOME}/Music' etc etc-fixes
    $ grep -Fnr '${HOME}/Pictures' etc etc-fixes
    $ grep -Fnr '${HOME}/Videos' etc etc-fixes

See src/firejail/macros.c for details.
2021-02-08 18:47:21 -03:00
rusty-snake
69968ee981 keepassxc: allow all browser, not just firefox
ungoogled-chromium won't work with keepassxc (#3941)
2021-02-02 12:31:16 +01:00
netblue30
1238ac1e5f
Merge pull request #3760 from kmk3/fix-keepassxc
keepassxc.profile: Fix hang due to seccomp
2020-12-30 08:45:38 -05:00
rusty-snake
a2bed302c3 Update keepassxc.profile dbus comments
- split notifications and tray
 - fix tray policy
2020-12-29 12:32:25 +01:00
Kelvin M. Klann
6be0964fd5 keepassxc.profile: Fix hang due to seccomp
With the current profile, keepassxc hangs on startup, before showing the
main window:

    $ uname -r -m
    5.9.1-artix1-1 x86_64
    $ firejail --version | head -n 1
    firejail version 0.9.64
    $ firejail --quiet keepassxc --version
    KeePassXC 2.6.2
    $ firejail --quiet keepassxc
    # (nothing happens)
    ^C

Seccomp debugging as explained on etc/templates/syscalls.txt:

    $ sudo grep -Eo 'keepassxc.* syscall=[0-9]+' /var/log/messages.log | tail -n 1
    keepassxc" exe="/usr/bin/keepassxc" sig=31 arch=c000003e syscall=303
    $ firejail --debug-syscalls | grep 303
    303     - name_to_handle_at

So allow the name_to_handle_at syscall.

Relates to #3549.
2020-11-17 21:49:55 -03:00
rusty-snake
096d0de5f8 from my overrides
- add seccomp.block-secondary to a lot profiles
 - add wruc to firefox-common and ignore it in TB and
   firefox-common-addons
 - harden dia, gnome-keyring, libreoffice, megaglest, pngquant,
   ghostwriter, rhythmbox, sqlitebrowser
2020-11-16 11:41:35 +01:00
rusty-snake
ba62f0e29d keepassxc dbus, closes #3713 [skip ci] 2020-10-31 16:45:02 +01:00
rusty-snake
3bab1ae24c fix keepassxc 2020-07-14 17:14:33 +02:00
rusty-snake
deb6c12454
hardening some profiles (#3505)
* hardening some profiles

 - harden and fix flameshot
 - wruc: frogatto, ghostwriter
 - harden gnome-latex
 - add whitelist opt-in note to keepassxc
 - add comment to minetest
 - harden openarena, tremulous, xonotic
 - add profile for xonotic-sdl-wrapper

* followup
2020-07-09 10:49:17 +00:00
rusty-snake
2c914c7d25
disable-shell.inc (#3411)
* disable-shell.inc

* add disable-shell.inc to all profiles with a …

… private-bin line without bash/sh except profiles with redirect
profiles.

* add it to some more profiles

* exclude aria2c.profile
2020-06-04 11:55:32 +00:00
rusty-snake
8744e0854a
dbus filter profiles (1) (#3326)
* dbus filter (1)

* dbus-filter: firefox

* drop org.gtk.vfs and com.canonical.AppMenu.Registrar
2020-05-02 18:05:48 +00:00
netblue30
018d75775e reorganize github etc directory 2020-04-21 08:24:28 -04:00
Renamed from etc/keepassxc.profile (Browse further)