GNOME Bugzilla – Bug 679863
libsecret migration
Last modified: 2012-08-20 21:40:55 UTC
Created attachment 218730 [details] [review] WIP patch to migrate to libsecret libsecret is a new client for the Secret Service DBus API. The Secret Service allows storage of passwords in a common way on the desktop. Supported by gnome-keyring and ksecretservice. libsecret solves many problems with libgnome-keyring. Relevant to vino: it solves threading issues, uses GDBus instead of dbus-glib. A future GNOME goal will be to migrate away from libgnome-keyring to libsecret: https://live.gnome.org/GnomeGoals/LibsecretMigration I've done a rough WIP patch in order to make sure that the libsecret API covered all the use cases. I'll attach that patch here. I hope the patch is a help for the migration, but I don't plan to iterate on it at the current time. Some notes about the patch: * Ideally vino would use its own password schema, and not use SECRET_SCHEMA_COMPAT_NETWORK (which is the successor of gnome_keyring_set_network_password() and friends). By using its own password schema seahorse and other applications can better identify the passwords that vino stores. But of course changing isn't so simple as it would break for already stored passwords. * I haven't tested the patch. I'm not familiar with how to trigger all the various code paths and logic.
Per r-t: Targetting GNOME 3.6
Just a heads up: Please look at the patch critically. I did the patch as a way to try out the API, and it's not ready to commit. There may be memory leaks or other logic errors. Most libsecret getters return data that must be unreferenced or freed.
Comment on attachment 218730 [details] [review] WIP patch to migrate to libsecret Pushed to master as commit 73d4922c71418cdbcfe1e35eaa41173b260b1b10. Thanks a lot for the patch Stef! If there are any regressions (I only tested quickly) I will sort them after the freeze.