From 007bdc85ff195d819fd1de070873c58a858ddd0c Mon Sep 17 00:00:00 2001 From: Maximiliano Sandoval Date: Wed, 11 Jun 2025 21:19:57 +0200 Subject: [PATCH 1/2] service: Serve default collection at alias path As per https://specifications.freedesktop.org/secret-service-spec/latest/object-paths.html, the default collection should be at "/org/freedesktop/secrets/aliases/default". For context git's libsecret-based credential manager uses this path. See the gitcredentials(7) man page for more details. --- server/src/service.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/service.rs b/server/src/service.rs index c84b2063..38b6868a 100644 --- a/server/src/service.rs +++ b/server/src/service.rs @@ -27,6 +27,9 @@ use crate::{ session::Session, }; +const DEFAULT_COLLECTION_ALIAS_PATH: ObjectPath<'static> = + ObjectPath::from_static_str_unchecked("/org/freedesktop/secrets/aliases/default"); + #[derive(Debug, Clone)] pub struct Service { // Properties @@ -328,7 +331,10 @@ impl Service { collections.push(collection.clone()); collection.dispatch_items().await?; object_server - .at(collection.path().clone(), collection) + .at(collection.path(), collection.clone()) + .await?; + object_server + .at(DEFAULT_COLLECTION_ALIAS_PATH, collection) .await?; } From 95faf5ef464e650a90ab66ed79bedfb49f7738ee Mon Sep 17 00:00:00 2001 From: Maximiliano Sandoval Date: Wed, 11 Jun 2025 21:24:52 +0200 Subject: [PATCH 2/2] server: Rename uppercase Login collection label To match gnome-keyring. --- server/src/service.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/service.rs b/server/src/service.rs index 38b6868a..045bdf8b 100644 --- a/server/src/service.rs +++ b/server/src/service.rs @@ -322,7 +322,7 @@ impl Service { if let Some(secret) = secret { let collection = Collection::new( - "login", + "Login", oo7::dbus::Service::DEFAULT_COLLECTION, false, service.clone(),