Replace gnome-keyring-daemon with oo7-daemon #506
Labels
No labels
a11y
btrfs
Closed As
Can't fix
Closed As
Deferred to upstream
Closed As
Fixed
Closed As
Won't fix
default-apps
easyfix
experience
help-wanted
installation
meeting
meeting-request
nvidia
packaging
pending-action
qa
testing
user-docs
wg-docs
wg-meta
No project
No assignees
6 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
workstation/tickets#506
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I would like to suggest replacing gnome-keyring-daemon with oo7-daemon https://github.com/linux-credentials/oo7/tree/main/server as a Rust re-implementation of the secret service specification.
Currently fedora already ships oo7 (the client library that the daemon is built upon) along with oo7-cli, a secret-tool replacement so most of the dependencies are there already.
oo7-daemon, offers a full drop-in replacement of gnome-keyring-daemon with PAM support as well. It has good test coverage and works out of the box on both GNOME and KDE Plasma making it possible to eventually drop both gnome-keyring-daemon and kwallet.
The major difference between gnome-keyring-daemon and oo7-daemon is the keyring file format. The former uses v0 for host keyrings and v1 for sandboxed applications keyrings. The later uses v1 for both and automatically migrate v0 keyrings to v1 once the user unlocks the keyring either manually or through PAM integration.
I have also suggested doing the change at https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/1253 for upstream GNOME. KDE iirc is also interested in using that as a replacement of kwallet as they have implemented the necessary prompting interfaces at https://invent.kde.org/mart/ksecretprompter.
Both the daemon and client library offers two cryptographic backends; one based on Rust native libraries and one based on openssl so it not be a problem to use the opeenssl based one if desired.
Please let me know if further information is needed.
Please also file a ticket with the KDE SIG about this. https://forge.fedoraproject.org/kde/tracker
(This is going to have to be a coordinated Fedora 45 Change to switch, since it touches so many things.)
Copying my comment from kde/tracker#700 (comment) here:
For Silverblue, it would be great to have an (automatic ideally) migration path. We might end up having to ship both in the image for a while.
we already have an automatic migration for gnome-keyring-daemon v0 format to v1.
Discussed at today's meeting. This change is approved.
Does anybody volunteer to implement it?
Since this needs to be coordinated with KDE too, I can work on a good chunk of it.
I suggest approaching the Rust SIG wrt/ packaging concerns (though hopefully this should be relatively straightforward since we already have the oo7 library and CLI packaged).
Looks like the "Change Checkpoint: Proposal submission deadline (System Wide Changes)" is on June 30 (next week's Tuesday)
I'm preparing the Change to submit this week.
Change filed: https://fedoraproject.org/wiki/Changes/oo7_Secrets_Service_Provider