[package]
authors = ["Walther Chen <walther.chen@gmail.com>"]
description = "Library to interface with Secret Service API"
documentation = "https://docs.rs/secret-service"
homepage = "https://github.com/hwchen/secret-service-rs.git"
keywords = ["secret-service", "password", "linux", "keychain"]
license = "MIT OR Apache-2.0"
name = "secret-service"
repository = "https://github.com/hwchen/secret-service-rs.git"
edition = "2021"
version = "4.0.0"
rust-version = "1.75.0"

# The async runtime features mirror those of `zbus` for compatibility.
[features]
crypto-rust = ["dep:aes", "dep:cbc", "dep:sha2", "dep:hkdf"]
crypto-openssl = ["dep:openssl"]

rt-async-io-crypto-rust = ["zbus/async-io", "crypto-rust"]
rt-async-io-crypto-openssl = ["zbus/async-io", "crypto-openssl"]

rt-tokio-crypto-rust = ["zbus/tokio", "crypto-rust"]
rt-tokio-crypto-openssl = ["zbus/tokio", "crypto-openssl"]

[dependencies]
aes = { version = "0.8", optional = true }
cbc = { version = "0.1", features = ["block-padding", "alloc"] , optional = true }
hkdf = { version = "0.12.0", optional = true }
generic-array = "0.14"
once_cell = "1"
futures-util = "0.3"
num = "0.4.0"
rand = "0.8.1"
serde = { version = "1.0.103", features = ["derive"] }
sha2 = { version = "0.10.0", optional = true }
zbus = { version = "4", default-features = false }
openssl = { version = "^0.10.40", optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["rt", "macros"] }
test-with = { version = "0.8", default-features = false }

[package.metadata.docs.rs]
features = ["rt-tokio-crypto-rust"]
