Create default collection after DBus.Error.UnknownObject

Some Secret Service API backend implementations (like keepassxc)
throws UnknownObject (instead of UnknownMethod as gnome-keyring do)
after creating an item in the non-existent
/org/freedesktop/secrets/aliases/default.
This commit is contained in:
Slava Aseev 2021-08-16 19:25:56 +03:00
parent 34dac1e805
commit d620c79d83
No known key found for this signature in database
GPG Key ID: ADE791C72CDB119C

View File

@ -1050,7 +1050,8 @@ on_store_create (GObject *source,
if (!store->created_collection && if (!store->created_collection &&
(g_error_matches (error, SECRET_ERROR, SECRET_ERROR_NO_SUCH_OBJECT) || (g_error_matches (error, SECRET_ERROR, SECRET_ERROR_NO_SUCH_OBJECT) ||
g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD)) && g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD) ||
g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_OBJECT)) &&
g_strcmp0 (store->collection_path, SECRET_ALIAS_PREFIX "default") == 0) { g_strcmp0 (store->collection_path, SECRET_ALIAS_PREFIX "default") == 0) {
properties = _secret_collection_properties_new (_("Default keyring")); properties = _secret_collection_properties_new (_("Default keyring"));
secret_service_create_collection_dbus_path (service, properties, "default", secret_service_create_collection_dbus_path (service, properties, "default",