Files
ports/security/pass-cli/files/patch-pass-cli_src_features_keyring.rs
2026-10-04 04:07:15 +00:00

36 lines
1.0 KiB
Rust

--- pass-cli/src/features/keyring.rs.orig 2026-07-26 12:15:02 UTC
+++ pass-cli/src/features/keyring.rs
@@ -89,6 +89,22 @@ fn init_linux_store() -> Result<()> {
Ok(())
}
+#[cfg(target_os = "freebsd")]
+fn init_freebsd_store() -> Result<()> {
+ info!("FreeBSD keyring: D-Bus backend requested");
+ let store = zbus_secret_service_keyring_store::Store::new().map_err(|e| {
+ anyhow::anyhow!(
+ "FreeBSD keyring: D-Bus secret service is unavailable or locked. \
+ Make sure your desktop session is unlocked and the Secret Service \
+ (e.g. GNOME Keyring) is running: {e}"
+ )
+ })?;
+ keyring_core::set_default_store(store);
+ info!("FreeBSD keyring: using zbus secret service (persistent)");
+
+ Ok(())
+}
+
fn init_keyring_store() -> Result<()> {
#[cfg(target_os = "macos")]
{
@@ -106,6 +122,9 @@ fn init_keyring_store() -> Result<()> {
#[cfg(target_os = "linux")]
init_linux_store()?;
+
+ #[cfg(target_os = "freebsd")]
+ init_freebsd_store()?;
Ok(())
}