[package]
edition = "2024"
rust-version = "1.92"
name = "oo7"
version = "0.6.0"
authors = [
"Bilal Elmoussaoui",
"Sophie Herold",
"Maximiliano Sandoval",
]
build = false
exclude = ["org.freedesktop.Secrets.xml"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "James Bond went on a new mission and this time as a Secret Service provider"
homepage = "https://github.com/linux-credentials/oo7"
readme = "README.md"
keywords = [
"keyring",
"secret",
"service",
"portal",
"keychain",
]
categories = [
"os::linux-apis",
"os",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/linux-credentials/oo7"
[package.metadata.docs.rs]
features = ["unstable"]
rustdoc-args = ["--generate-link-to-definition"]
[features]
async-std = [
"zbus/async-io",
"dep:async-fs",
"dep:async-io",
"dep:async-lock",
"dep:blocking",
"dep:futures-lite",
"ashpd/async-io",
]
default = [
"tokio",
"native_crypto",
]
native_crypto = [
"dep:aes",
"dep:cbc",
"dep:cipher",
"dep:digest",
"dep:hkdf",
"dep:hmac",
"dep:md-5",
"dep:pbkdf2",
"dep:sha2",
"dep:subtle",
]
openssl_crypto = ["dep:openssl"]
schema = ["dep:oo7-macros"]
tokio = [
"zbus/tokio",
"dep:tokio",
"ashpd/tokio",
]
tracing = [
"dep:tracing",
"ashpd/tracing",
]
unstable = []
[lib]
name = "oo7"
path = "src/lib.rs"
[[example]]
name = "basic"
path = "examples/basic.rs"
required-features = ["tokio"]
[[example]]
name = "basic_2"
path = "examples/basic_2.rs"
required-features = ["tokio"]
[[example]]
name = "dbus_service"
path = "examples/dbus_service.rs"
required-features = ["tokio"]
[[example]]
name = "file_tracing"
path = "examples/file_tracing.rs"
required-features = [
"tokio",
"tracing",
]
[[example]]
name = "schema"
path = "examples/schema.rs"
required-features = [
"tokio",
"schema",
]
[[test]]
name = "dbus_collection"
path = "tests/dbus_collection.rs"
[[test]]
name = "dbus_item"
path = "tests/dbus_item.rs"
[[test]]
name = "dbus_service"
path = "tests/dbus_service.rs"
[[test]]
name = "file_unlocked_keyring"
path = "tests/file_unlocked_keyring.rs"
[[test]]
name = "keyring"
path = "tests/keyring.rs"
[[test]]
name = "schema"
path = "tests/schema.rs"
[dependencies.aes]
version = "0.8"
features = ["zeroize"]
optional = true
[dependencies.ashpd]
version = "0.13"
features = ["secret"]
default-features = false
[dependencies.async-fs]
version = "2.2.0"
optional = true
[dependencies.async-io]
version = "2.6.0"
optional = true
[dependencies.async-lock]
version = "3.4.2"
optional = true
[dependencies.blocking]
version = "1.5.1"
optional = true
[dependencies.cbc]
version = "0.1"
features = ["zeroize"]
optional = true
[dependencies.cipher]
version = "0.4"
features = ["zeroize"]
optional = true
[dependencies.digest]
version = "0.10"
optional = true
[dependencies.endi]
version = "1.1"
[dependencies.futures-lite]
version = "2.6"
optional = true
[dependencies.futures-util]
version = "0.3"
[dependencies.getrandom]
version = "0.4"
[dependencies.hkdf]
version = "0.12"
optional = true
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.md-5]
version = "0.10"
optional = true
[dependencies.num]
version = "0.4.0"
[dependencies.num-bigint-dig]
version = "0.9"
features = ["zeroize"]
[dependencies.oo7-macros]
version = "0.6"
optional = true
[dependencies.openssl]
version = "0.10"
optional = true
[dependencies.pbkdf2]
version = "0.12"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_bytes]
version = "0.11"
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.subtle]
version = "2.5"
optional = true
[dependencies.tokio]
version = "1.48"
features = [
"sync",
"fs",
"io-util",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.zbus]
version = "5.12.0"
default-features = false
[dependencies.zbus_macros]
version = "5.11"
features = ["gvariant"]
[dependencies.zeroize]
version = "1"
features = ["zeroize_derive"]
[dependencies.zvariant]
version = "5.8"
features = [
"gvariant",
"serde_bytes",
]
default-features = false
[dev-dependencies.serial_test]
version = "3.3"
[dev-dependencies.tempfile]
version = "3.25"
[dev-dependencies.tokio]
version = "1.48"
features = [
"macros",
"rt-multi-thread",
"time",
]
default-features = false
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]