frankosterfeld / qtkeychain

Platform-independent Qt API for storing passwords securely.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

qtkeychain doesn't support gnome-keyring 40.0

ChristopheLarchier opened this issue · comments

Access to gnome-keyring 40 does not work, all *PasswordJob are failing.
Works ok with gnome-keyring 3-36
Build from last sources with Qt 6.2.3

Which distribution are you on? Do you happen to know if libsecret is available/working, or if it is falling back to the gnome keyring backend?

Under Ubuntu 21.10/gnome 40.4.0/wayland, I've tried an application built elsewhere and packaged as AppImage, using qtkeychain 0.13.2, and storing and reading the password works (seahorse also shows it).

This is a standard Ubuntu install + gnome PPA, so nothing special installed.

(The application prints Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway, wayland qpa plugin not being in the appimage)

I now tried with Qt 6.2.4 (I don't think the Qt version matters), after installing the minimum requirements (Qt from the online installer, cmake, g++, libsecret-dev...), built the testclient with cmake -DBUILD_TEST_APPLICATION=ON -DBUILD_WITH_QT6=ON, and it works for me. Can you test if the testclient fails for you, too?

commented

@clinfomaniak
Could you precise what was the problem with libglib-2.0.so.0 please ?
I am working on a bug similar the one described here.
Thanks in advance.

I fixed this for an internal tool in KDAB by excluding all of glib-2.0/gthread-2.0/gmodule-2.0/gobject-2.0 from the appimage. I think what happens is that when loading gnome-keyring libs at runtime (dlopen), the packaged glib libs don't match what the (system) keyring lib was built against. Omitting them from the package makes the application use the system glibs, which are compatbile.