blob: 64909eb466025d529d64faa6a176d7c26aca012a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
--- 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(())
}
|