[package] name = "ironstorage" description = "Pure Rust password-store repository management" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true repository.workspace = true publish = false [features] default = ["full"] full = [ "dep:apple-native-keyring-store", "dep:arboard", "dep:cap-std", "dep:cap-tempfile", "dep:clap", "dep:clap_complete", "dep:flate2", "dep:gix", "dep:gix-config", "dep:image", "dep:keepass", "dep:keyring-core", "dep:pgp", "dep:percent-encoding", "dep:qrcode", "dep:rand", "dep:regex", "dep:reqwest", "dep:rustls", "dep:rqrr", "dep:secret-service", "dep:security-framework", "dep:serde", "dep:shlex", "dep:toml", "dep:url", "dep:windows-native-keyring-store", "dep:zbus-secret-service-keyring-store", ] ssh = ["dep:russh", "dep:tokio"] watch = [] [dependencies] cap-std = { workspace = true, optional = true } cap-tempfile = { workspace = true, optional = true } clap = { workspace = true, optional = true } clap_complete = { workspace = true, optional = true } data-encoding.workspace = true flate2 = { workspace = true, optional = true } gix = { workspace = true, optional = true } gix-config = { workspace = true, optional = true } hmac.workspace = true image = { workspace = true, optional = true } keyring-core = { workspace = true, optional = true } keepass = { workspace = true, optional = true } pgp = { workspace = true, optional = true } percent-encoding = { workspace = true, optional = true } qrcode = { workspace = true, optional = true } rand = { workspace = true, optional = true } regex = { workspace = true, optional = true } reqwest = { workspace = true, optional = true } rustls = { workspace = true, optional = true } rqrr = { workspace = true, optional = true } russh = { workspace = true, optional = true } serde = { workspace = true, optional = true } sha1.workspace = true sha2.workspace = true shlex = { workspace = true, optional = true } toml = { workspace = true, optional = true } tokio = { workspace = true, optional = true } url = { workspace = true, optional = true } zeroize.workspace = true [target.'cfg(any(target_os = "ios", target_os = "macos"))'.dependencies] apple-native-keyring-store = { workspace = true, optional = true } security-framework = { workspace = true, optional = true } [target.'cfg(target_os = "windows")'.dependencies] windows-native-keyring-store = { workspace = true, optional = true } [target.'cfg(target_os = "linux")'.dependencies] arboard = { workspace = true, optional = true } secret-service = { workspace = true, optional = true } zbus-secret-service-keyring-store = { workspace = true, optional = true } [target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies] arboard = { workspace = true, optional = true } [dev-dependencies] hex = "0.4" keepass = { workspace = true, features = ["save_kdbx4"] } nix = { version = "0.31", features = ["fs"] } rand_chacha = "0.3" smallvec = "1.15" tempfile = "3" tokio-stream.workspace = true