[package]
name = "rustsec"
description = "Client library for the RustSec security advisory database"
version = "0.31.0"
authors = ["Tony Arcieri <bascule@gmail.com>"]
license = "Apache-2.0 OR MIT"
homepage = "https://rustsec.org"
repository = "https://github.com/rustsec/rustsec"
readme = "README.md"
categories = ["api-bindings", "development-tools"]
keywords = ["audit", "rustsec", "security", "advisory", "vulnerability"]
edition = "2024"
rust-version = "1.85"
[dependencies]
cargo-lock = { workspace = true }
cvss = { workspace = true, features = ["serde"] }
fs-err = { workspace = true }
platforms = { workspace = true, features = ["serde"] }
semver = { workspace = true, features = ["serde"] }
serde = { workspace = true, features = ["serde_derive"] }
thiserror = { workspace = true }
toml = { workspace = true }
url = { workspace = true, features = ["serde"] }
auditable-info = { workspace = true, features = ["wasm"], optional = true }
auditable-serde = { workspace = true, optional = true }
quitters = { workspace = true, optional = true }
once_cell = { workspace = true, optional = true }
binfarce = { workspace = true, optional = true }
tame-index = { workspace = true, features = ["sparse", "native-certs"], optional = true }
home = { workspace = true, optional = true }
time = { workspace = true, features = ["formatting", "serde", "parsing"], optional = true }
gix = { workspace = true, features = ["worktree-mutation", "revision", "max-performance-safe"], optional = true }
[dev-dependencies]
tempfile = { workspace = true }
once_cell = { workspace = true }
serde_json = { workspace = true }
[features]
default = ["gix-reqwest"]
git = [
"dep:tame-index",
"dep:home",
"dep:time",
"dep:gix",
]
gix-reqwest = ["tame-index/gix-reqwest", "git"]
gix-curl = ["tame-index/gix-curl", "git"]
dependency-tree = ["cargo-lock/dependency-tree"]
osv-export = ["git"]
binary-scanning = ["dep:auditable-info", "dep:auditable-serde", "dep:binfarce", "dep:quitters", "dep:once_cell"]
[package.metadata.docs.rs]
features = ["dependency-tree", "osv-export", "binary-scanning"]
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.cargo_check_external_types]
allowed_external_types = [
"binfarce::Format",
"cargo_lock",
"cargo_lock::*",
"cvss::*",
"platforms",
"platforms::*",
"semver",
"semver::*",
"serde::*",
"time::offset_date_time::OffsetDateTime",
"url::Url",
]