fix(secrets): enable the real keyring backends on macOS and Windows
keyring 3.x ships no `default` feature contents, and every platform arm reads `not(feature = "...-native")` -> `pub use mock as default`. Naming no features therefore selected the in-memory mock on macOS and Windows, whose writes succeed and whose master key dies with the process, while `Backend::new` still reported `BackendKind::Keyring`. The consequence is that every offline track's content key becomes undecryptable on the next launch, so playback treats it as a cache miss and silently re-streams what the user had already downloaded. Linux is left off the list because qbz-credentials already enables `async-secret-service` and Cargo unifies features; naming `sync-secret-service` here would trip keyring's own compile_error for enabling both halves of a store. Proven with a probe wrapping in one process and unwrapping in another, on the same machine, changing only this line: before: backend = Keyring, UNWRAP FAILED: cipher error: aead::Error after: backend = Keyring, UNWRAPPED OK
This commit is contained in:
2 files changed
+35
-10
No files matched your search
Generated
+18
-1
@@ -3931,9 +3931,13 @@ version = "3.6.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eebcc3aff044e5944a8fbaf69eb277d11986064cba30c468730e8b9909fb551c"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"dbus-secret-service",
|
||||
"log",
|
||||
"secret-service",
|
||||
"security-framework 2.11.1",
|
||||
"security-framework 3.7.0",
|
||||
"windows-sys 0.60.2",
|
||||
"zbus 4.4.0",
|
||||
"zeroize",
|
||||
]
|
||||
@@ -7292,7 +7296,7 @@ dependencies = [
|
||||
"openssl-probe",
|
||||
"rustls-pki-types",
|
||||
"schannel",
|
||||
"security-framework",
|
||||
"security-framework 3.7.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -7415,6 +7419,19 @@ dependencies = [
|
||||
"zbus 4.4.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "2.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
|
||||
dependencies = [
|
||||
"bitflags 2.13.0",
|
||||
"core-foundation 0.9.4",
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
"security-framework-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "3.7.0"
|
||||
|
||||
Reference in new issue
Block a user