107 lines
3.3 KiB
TOML
107 lines
3.3 KiB
TOML
# cargo-deny configuration for dependency management and security
|
|
|
|
[graph]
|
|
targets = [
|
|
{ triple = "x86_64-unknown-linux-gnu" },
|
|
{ triple = "x86_64-pc-windows-msvc" },
|
|
{ triple = "x86_64-apple-darwin" },
|
|
{ triple = "aarch64-apple-darwin" },
|
|
]
|
|
|
|
[advisories]
|
|
# The path where the advisory database is cloned/fetched into
|
|
db-path = "~/.cargo/advisory-db"
|
|
# The url(s) of the advisory databases to use
|
|
db-urls = ["https://github.com/rustsec/advisory-db"]
|
|
# The lint level for security vulnerabilities
|
|
vulnerability = "deny"
|
|
# The lint level for unmaintained crates
|
|
unmaintained = "warn"
|
|
# The lint level for crates that have been yanked from their source registry
|
|
yanked = "warn"
|
|
# The lint level for crates with security notices
|
|
notice = "warn"
|
|
# A list of advisory IDs to ignore. Note that ignored advisories will still
|
|
# output a note when they are encountered.
|
|
ignore = [
|
|
#"RUSTSEC-0000-0000",
|
|
]
|
|
|
|
[licenses]
|
|
# The confidence threshold for detecting a license from a license text.
|
|
confidence-threshold = 0.8
|
|
# List of explicitly allowed licenses
|
|
allow = [
|
|
"MIT",
|
|
"Apache-2.0",
|
|
"Apache-2.0 WITH LLVM-exception",
|
|
"BSD-2-Clause",
|
|
"BSD-3-Clause",
|
|
"ISC",
|
|
"Unicode-DFS-2016",
|
|
]
|
|
# List of explicitly disallowed licenses
|
|
deny = [
|
|
"GPL-2.0",
|
|
"GPL-3.0",
|
|
"AGPL-3.0",
|
|
]
|
|
# Lint level for when multiple versions of the same license are detected
|
|
copyleft = "warn"
|
|
# Some crates don't have license files and we allow them specifically
|
|
exceptions = [
|
|
# Allow ring which has some complex licensing
|
|
{ allow = ["MIT", "ISC", "OpenSSL"], name = "ring" },
|
|
# webpki has Mozilla's license
|
|
{ allow = ["ISC", "MIT", "MPL-2.0"], name = "webpki" },
|
|
]
|
|
|
|
[[licenses.clarify]]
|
|
name = "ring"
|
|
# SPDX identifier
|
|
expression = "MIT AND ISC AND OpenSSL"
|
|
# License file paths
|
|
license-files = [
|
|
{ path = "LICENSE", hash = 0xbd0eed23 }
|
|
]
|
|
|
|
[bans]
|
|
# Lint level for when multiple versions of the same crate are detected
|
|
multiple-versions = "warn"
|
|
# Lint level for when a crate version requirement is `*`
|
|
wildcards = "allow"
|
|
# The graph highlighting used when creating dotgraphs for crates
|
|
highlight = "all"
|
|
# List of crates that are allowed. Use with care!
|
|
allow = [
|
|
#{ name = "ansi_term", version = "=0.11.0" },
|
|
]
|
|
# List of crates to deny
|
|
deny = [
|
|
# Insecure random number generation
|
|
{ name = "openssl", version = "*", use-instead = "rustls" },
|
|
# Unmaintained and insecure
|
|
{ name = "chrono", version = "<0.4.20" },
|
|
]
|
|
# Certain crates/versions that will be skipped when doing duplicate detection.
|
|
skip = [
|
|
#{ name = "ansi_term", version = "=0.11.0" },
|
|
]
|
|
# Similarly to `skip` allows you to skip certain crates from being checked. Unlike
|
|
# `skip`, a skipped crate is removed from the crate graph entirely.
|
|
skip-tree = [
|
|
#{ name = "ansi_term", version = "=0.11.0", depth = 20 },
|
|
]
|
|
|
|
[sources]
|
|
# Lint level for what to happen when a crate from a crate registry that is
|
|
# not in the allow list is encountered
|
|
unknown-registry = "warn"
|
|
# Lint level for what to happen when a crate from a git repository that is not
|
|
# in the allow list is encountered
|
|
unknown-git = "warn"
|
|
# List of URLs for allowed crate registries. Defaults to the crates.io index
|
|
# if not specified. If it is specified but empty, no registries are allowed.
|
|
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
|
|
# List of URLs for allowed Git repositories
|
|
allow-git = [] |