GNOME Bugzilla – Bug 688165
Default keyring does not get created
Last modified: 2012-11-21 18:07:53 UTC
The default keyring does not get created when an attempt is made to store something in it. eg., the Fedora 18 LiveCD does not have a default keyring (ie. SECRET_COLLECTION_DEFAULT) initially. Attempts to store any credentials during the live CD session fails. $ echo "foo" | secret-tool store --label=Blah attribute value ** Message: Remote error from secret service: org.freedesktop.Secret.Error.NoSuchObject: The '/org/freedesktop/secrets/aliases/default' object does not exist secret-tool: The '/org/freedesktop/secrets/aliases/default' object does not existrpm -q libsecret Relevant versions: libsecret-0.11 gnome-keyring-3.6.1
One workaround is to use Seahorse to create a keyring (File -> New). Once it is created, right click on it and set it as default.
Created attachment 228949 [details] [review] Fix collection creation bugs in mock service * Guarantee that collections have unique paths * Set the alias of new collections correctly
Created attachment 228950 [details] [review] When storing a secret, create default keyring if necessary * If the default keyring does not exist when storing a secret try and create it. * We handle both secrets that correctly return NoSuchObject and ones that just return the silly DBus UnknownMethod error.
Created attachment 228951 [details] [review] Translated label for automatically created default keyrings
Created attachment 228952 [details] [review] Rework how we strip remote DBus errors * This is necessary because sometimes we don't want to complain, for expected errors, when running nested operations. * The fact that we have to do this is silly, and soon there will be a solution in glib itself.
Created attachment 228953 [details] [review] Don't print messages when creating default collection * This is expected behavior, so don't complain.
Anyone interested in doing some review for these patches? In particular, the second patch (labeled: "When storing a secret, create default keyring if necessary") is the main one that fixes this bug, and might be back-ported into distros to fix this bug.
WORKSFORME. I tested it on Fedora 18 live CD, which does not have a default keyring. Trying to store something created a keyring for me. Also tested on a non-live session which already had a default keyring, and it works as before.
Merged into git master.
I wonder if distributions should backport it because it affects live CDs.