GNOME Bugzilla – Bug 476644
Unable to user keyring for new users with pidgin
Last modified: 2007-10-06 14:23:04 UTC
Please describe the problem: For a new user, without the ${HOME}/.gnome2/keyrings directory, using the latest sources for 2.19, using something like pidgin to open the default keyring results in constant prompts for the creation of a new keyring, and the production of several default.keyring and defaultN.keyring files. This is happening on Solaris where the user doesn't have the permission to uses shared memory. Steps to reproduce: rm -rf ${HOME}/.gnome/keyrings pidgin & Actual results: Multiple questions for password to create new default keyring. Expected results: Only get asked once Does this happen every time? Yep Other information: I have a patch, that I'll attach. There are two issues: 1) Freeing the display_name that's stored in the GkrKeyring, should be strduped() - this resulted in some corruption of the structure, at times. 2) On creation of a new keyring it should be added to the list of known keyrings, this happens in one case, but there is another case where it isn't and a such we can never find the default keyring.
Created attachment 95533 [details] [review] Patch to fix the issues.
Thanks for taking the time to look into the problem. Issue #1: Not sure why this is a problem. Could you describe this further? The very next line zeros out the display_name pointer thus the ownership of the memory has effectively been transferred. Issue #2: Good catch. I'll commit this once GNOME is out of its hard code freeze. On most systems the fact that gnome-keyring-daemon automatically loads any new files in its directory mitigates this problem. Not sure why it isn't doing this for you, but it's a bug none the less.
Hmm, you're right about issue 1 - sorry, missed the NULL assignment... Not sure what I saw then... As for the reading of the directory element, I can see where that happens in the code, not sure why that didn't find it, maybe the subject of further investigation there! Thanks.
Committed the first part of your patch.
*** Bug 483288 has been marked as a duplicate of this bug. ***
http://svn.gnome.org/viewcvs/gnome-keyring?view=revision&revision=840 only mentions a changelog commit, is that normal?
ok, looks like the code change is an another commit
Yes, my goof. For the record: Changeset 839 is the code, Changeset 840 the Changelog to go with it.