[go: up one dir, main page]

rustsec 0.30.4

Client library for the RustSec security advisory database
Documentation
[package]
name         = "rustsec"
description  = "Client library for the RustSec security advisory database"
version      = "0.30.4"
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"] }

# for scanning binary files
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 }

# optional dependencies
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",
]
# Exactly one of 'gix-reqwest' or 'gix-curl' must be enabled when using the 'git' feature.
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]
# All features except gix-curl, which is mutually exclusive with gix-reqwest
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::*",
    "fs_err",
    "gix_date::Time",
    "platforms",
    "platforms::*",
    "reqwest::async_impl::client::ClientBuilder",
    "semver",
    "semver::*",
    "serde::*",
    "time::offset_date_time::OffsetDateTime",
    "toml::ser::Error",
    "url::Url",
]