frankosterfeld / qtkeychain

Platform-independent Qt API for storing passwords securely.
Other
409 stars 159 forks source link

qtkeychain 0.8 fails to use kwallet5 #99

Open Ablinne opened 7 years ago

Ablinne commented 7 years ago

I am running arch linux and plasma 5 and installed the update to version 0.8 of qtkeychain today. After this update the owncloud-client presents me with the message

** Message: Remote error from secret service: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files

And asks me for my passwords, even though my passwords are safely stored in my kwallet (which is up and running and in use by other applications).

Seems qtkeychain is trying to use gnome-keyring or whatever.

Environment variables are set correctly

albn@alexhij$ echo $XDG_CURRENT_DESKTOP
KDE
albn@alexhij$ echo $KDE_SESSION_VERSION
5

After downgrading qtkeychain to 0.7 owncloud works fine again.

antonio-rojas commented 7 years ago

Confirmed, if qtkeychain is compiled with libsecret support and there is no libsecret service provider installed, kwalled is not used. Compiling without libsecret support fixes the problem.

frankosterfeld commented 7 years ago

@Ablinne which KDE setup (distro etc.) are you using? @akallabeth I wonder if we can have a runtime check with kwalletd as fallback?

akallabeth commented 7 years ago

@frankosterfeld Depends on how to detect libsecret is not used during runtime. (must be installed and available, otherwise it would not be tried). Easiest option would be to add a configuration option to override autodetection in detectKeyringBackend

Ablinne commented 7 years ago

@frankosterfeld I am using Arch linux with plasma-desktop from the Extra repository. libsecret is installed as a dependency of the packages darktable-git evince pinentry webkit2gtk webkitgtk2, so I can not easily uninstall it. On the other hand neither gnome-keyring nor any other provider of org.freedesktop.secrets are installed. Maybe if no org.freedesktop.secrets-provider is found, qtkeychain can just skip libsecret and continue with other options?

thePanz commented 7 years ago

Any updates on this? I am getting the same error when starting mysql-workbench: (ArchLinux, KDE5, Plasma 5.10.2)

$ mysql-workbench

Workbench can't find libproj.so, some options may be unavailable.
Gkr-Message: secret service operation failed: The name org.freedesktop.secrets was not provided by any .service files
Ablinne commented 7 years ago

@thePanz On Arch linux, the package update qtkeychain 0.8.0-2 fixed it for me. It is compiled without libsecret support. See changes to PKGBUILD here: https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/qtkeychain&id=9508b3f0487ec832875ab983e317fc4f8a7bfbaf.

thePanz commented 7 years ago

@Ablinne I installed such package, but did not helped. I guess because of libsecret being already installed?

$ pacman --query --info  qtkeychain
Name            : qtkeychain
Version         : 0.8.0-2
Description     : Provides support for secure credentials storage
Architecture    : x86_64
URL             : https://github.com/frankosterfeld/qtkeychain
Licenses        : BSD
Groups          : None
Provides        : qtkeychain-qt5
Depends On      : qt5-base
Optional Deps   : kwallet: kwallet backend [installed]
                  libgnome-keyring: GNOME keyring backend [installed]
                  libsecret: libsecret backend [installed]
Required By     : None
Optional For    : None
Conflicts With  : qtkeychain-qt5
Replaces        : qtkeychain-qt5
Installed Size  : 192.00 KiB
Packager        : Antonio Rojas <arojas@archlinux.org>
Build Date      : Fri 21 Apr 2017 20:15:57 CEST
Install Date    : Fri 16 Jun 2017 12:25:20 CEST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

$ pacman --query --info libsecret
Name            : libsecret
Version         : 0.18.5+14+g9980655-1
Description     : Library for storing and retrieving passwords and other secrets
Architecture    : x86_64
URL             : https://wiki.gnome.org/Projects/Libsecret
Licenses        : LGPL
Groups          : None
Provides        : None
Depends On      : glib2  libgcrypt
Optional Deps   : gnome-keyring: key storage service (or use any other service implementing org.freedesktop.secrets)
Required By     : gvfs  networkmanager-openvpn  pinentry  webkit2gtk  webkitgtk
Optional For    : qtkeychain
Conflicts With  : None
Replaces        : None
Installed Size  : 1884.00 KiB
Packager        : Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Build Date      : Wed 05 Apr 2017 20:19:27 CEST
Install Date    : Wed 07 Jun 2017 09:42:27 CEST
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature
Ablinne commented 7 years ago

@thePanz, judging from the dependencies of mysql-workbench, https://www.archlinux.org/packages/community/x86_64/mysql-workbench/, it does not even use qtkeychain. So your error message is probably not related to this bug report.

ckamm commented 6 years ago

This problem was probably addressed by https://github.com/frankosterfeld/qtkeychain/pull/111 - now kwallet5 is preferred even when libsecret support is enabled.

hefee commented 6 years ago

for me the issue is solved with relesed v0.9.0

cab404 commented 4 years ago

DESKTOP_SESSION=kde KDE_SESSION_VERSION=5 nextcloud.