Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeepassXC attempts to use a privileged file when using portals and can't open a File Chooser #1490

Open
txtsd opened this issue Oct 27, 2024 · 0 comments
Labels

Comments

@txtsd
Copy link

txtsd commented Oct 27, 2024

Operating System

Arch Linux

XDG Desktop Portal version

1.18

XDG Desktop Portal version (Other)

No response

Desktop Environment

wlroots

Desktop Environment (Other)

Sway

Expected Behavior

KeepassXC should open a File Chooser

Current Behavior

KeepassXC does nothing

Steps to Reproduce

  1. Create a file ~/.config/xdg-desktop-portal/portals.conf
  2. Fill it with
[preferred]
default=wlr;gtk
org.freedesktop.impl.portal.FileChooser=lxqt

  1. Install xdg-desktop-portal-wlr andxdg-desktop-portal-gtk and xdg-desktop-portal-lxqt and pcmanfm-qt if not already installed
  2. Log out and log back in
  3. Run KeepassXC and hit the Open Database button.
  4. Nothing happens
    ...

Anything else we should know?

Here's a dbus-monitor log:

method call time=1730043932.721391 sender=:1.65 -> destination=org.freedesktop.portal.Desktop serial=84 path=/org/freedesktop/portal/desktop; interface=org.freedesktop.portal.FileChooser; member=OpenFile
   string "x11:1"
   string "Open database"
   array [
      dict entry(
         string "directory"
         variant             boolean false
      )
      dict entry(
         string "filters"
         variant             array [
               struct {
                  string "KeePass 2 Database "
                  array [
                     struct {
                        uint32 0
                        string "*.kdbx"
                     }
                  ]
               }
               struct {
                  string "All files "
                  array [
                     struct {
                        uint32 0
                        string "*"
                     }
                  ]
               }
            ]
      )
      dict entry(
         string "handle_token"
         variant             string "qt2944820299"
      )
      dict entry(
         string "modal"
         variant             boolean true
      )
      dict entry(
         string "multiple"
         variant             boolean false
      )
   ]
method call time=1730043932.721809 sender=:1.28 -> destination=org.freedesktop.DBus serial=108 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.65"
method return time=1730043932.721820 sender=org.freedesktop.DBus -> destination=:1.28 serial=4294967295 reply_serial=108
   uint32 2504
error time=1730043932.722082 sender=:1.28 -> destination=:1.65 error_name=org.freedesktop.DBus.Error.AccessDenied reply_serial=84
   string "Portal operation not allowed: Unable to open /proc/2504/root"

KeepassXC functions correctly without the mentioned portals.conf file when it does not use portals to open the File Chooser.

Upstream won't do anything about it citing a problem with my environment instead.
See old issue: keepassxreboot/keepassxc#7607
See relevant snapcraft thread: https://forum.snapcraft.io/t/file-chooser-doesnt-show-using-kde-neon-extension/29244/21
See Arch issue where it was decided it's not a packaging issue: https://gitlab.archlinux.org/archlinux/packaging/packages/keepassxc/-/issues/8

@txtsd txtsd added the bug label Oct 27, 2024
@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Oct 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Needs Triage
Development

No branches or pull requests

1 participant