FS#39913 - [gnome-keyring] Passwords keyring disappears on upgrade to 3.12.0-1

Attached to Project: Arch Linux
Opened by Steven Haigh (CRCinAU) - Thursday, 17 April 2014, 00:28 GMT
Last edited by Doug Newgard (Scimmia) - Monday, 06 July 2015, 04:35 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Jan Alexander Steffens (heftig)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No

Details

Description:
When upgrading to 3.12.0-1, the Passwords key rings disappear. This causes anything that has stored a password in the gnome-keyring to fail - and therefore not remember stored passwords.

Downgrading to 3.10.1-2 restores the Passwords key ring and operates as it should.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Monday, 06 July 2015, 04:35 GMT
Reason for closing:  No response
Comment by Jan de Groot (JGC) - Monday, 21 April 2014, 08:56 GMT
Can you still see the keyring with seahorse? gnome-keyring-3.12 mainly changes socket locations and environment variables that are assigned after that, there's no change in the keyring format or naming of keyrings.
Comment by Steven Haigh (CRCinAU) - Monday, 21 April 2014, 10:16 GMT
Added screenshot of gnome-keyring 3.10.1-2. Screenshot of 3.12.0-1 to come.
Comment by Steven Haigh (CRCinAU) - Monday, 21 April 2014, 10:21 GMT
Added screenshot of gnome-keyring 3.12.0-1.

Downgrading to 3.10.1-2 and rebooting restores the login passwords keyring.
Comment by Jan de Groot (JGC) - Monday, 21 April 2014, 10:32 GMT
How do you start GNOME? Is your keyring password the same as your account password? Your 3.10.x screenshot doesn't show much difference to my setup and in my case things are still working after upgrade.
Comment by Steven Haigh (CRCinAU) - Monday, 21 April 2014, 22:15 GMT
I use XFCE with the "Launch GNOME services" option ticked. This launches gnome-keyring as:
/usr/bin/gnome-keyring-daemon --daemonize --login

I believe the passwords are the same - or maybe blank as I use lightdm autologin + XFCE. If not, I at least used whatever worked with 3.10.2-1 :)
Comment by Steven Haigh (CRCinAU) - Sunday, 27 April 2014, 14:09 GMT
With help from grawity on #archlinux, it seems that the GNOME_KEYRING_CONTROL variable is no longer set.

Adding this to /etc/profile restored functionality for me:
export GNOME_KEYRING_CONTROL=$XDG_RUNTIME_DIR/keyring

After this, logging out and in again restored full keyring functionality.
Comment by Steven Haigh (CRCinAU) - Sunday, 27 April 2014, 14:15 GMT Comment by Steven Haigh (CRCinAU) - Monday, 28 April 2014, 03:30 GMT
I noticed today that the above modification to /etc/profile doesn't quite cut it if you use programs that autostart that call secrets.freedesktop.org via dbus. This causes dbus to launch gnome-keyring-daemon - and incorrectly.

I fixed this by creating an new script to launch at startup:
#!/bin/bash
source /etc/X11/xinit/xinitrc.d/30-dbus
eval $(/usr/bin/gnome-keyring-daemon --replace --daemonize --components=gpg,pkcs11,secrets,ssh)
export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK

I then disabled the "Launch GNOME services" option from within XFCE.

This seems to init gnome-keyring-daemon properly. As we replace the instance launched by dbus, it fixes the problem - although in an ugly way.
Comment by Christian Hesse (eworm) - Monday, 28 April 2014, 04:43 GMT
Some login managers do have pam_gnome_keyring.so in their PAM configuration. Is this sufficient to work in all situations? Perhaps some PAM configuration has to be updated...
Comment by Daniel Micay (thestinger) - Monday, 28 April 2014, 04:49 GMT
That will work when the user uses a display manager... but it's not in the configuration for a login without a display manager.
Comment by Steven Haigh (CRCinAU) - Wednesday, 14 May 2014, 07:45 GMT
Just wondering if there are any more recent thoughts on this?

At this stage, I have to do the following:
1) Add this to /etc/profile
export GNOME_KEYRING_CONTROL=$XDG_RUNTIME_DIR/keyring

2) Launch gnome-keyring at login via:
#!/bin/bash
source /etc/X11/xinit/xinitrc.d/30-dbus
eval $(/usr/bin/gnome-keyring-daemon --replace --daemonize --components=gpg,pkcs11,secrets,ssh)
export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK

Both of these are required - however it does work after the above two steps.
Comment by Francisco Lopes (falmp) - Friday, 20 June 2014, 15:25 GMT
I had problems with mysql-workbench and gnome-keyring and the /etc/profile workaround (alone) worked. I'm using Xfce.
Comment by Doug Newgard (Scimmia) - Friday, 15 May 2015, 02:29 GMT
Status on this? Has anyone talked to upstream?

Loading...