Files
iroh-gossip-rendezvous/deny.toml
T
swaits 54d73d9cb1 ci: ignore transitive hickory CVEs blocked by iroh's hard-pin
RUSTSEC-2026-0119 (hickory-proto O(n²) name-compression DoS) and
RUSTSEC-2026-0120 (hickory-net NSEC3 unbounded loop / OOM) both fire
against hickory 0.26.0-beta.4. Fixed upstream in hickory 0.26.1, but
iroh 0.98.2 hard-pins hickory-resolver = "=0.26.0-beta.4" so we
can't bump transitively. Unblock once iroh releases a version that
relaxes the pin.
2026-05-10 14:27:06 -06:00

82 lines
3.0 KiB
TOML

# cargo-deny configuration.
# https://embarkstudios.github.io/cargo-deny/
[graph]
targets = [
{ triple = "x86_64-unknown-linux-gnu" },
{ triple = "x86_64-apple-darwin" },
{ triple = "aarch64-apple-darwin" },
{ triple = "x86_64-pc-windows-msvc" },
]
all-features = true
# ── Advisories (RUSTSEC) ───────────────────────────────────────────
[advisories]
version = 2
yanked = "deny"
# Allow transitive advisories that come via iroh's dep graph and can't be
# fixed downstream. Re-evaluate on each iroh bump.
# Note: cargo-audit does NOT read this file — mirror any vulnerability-class
# entries below into the `cargo audit --ignore …` flag list in ci.yml.
ignore = [
# paste — no longer maintained. Pulled in via iroh → portmapper → netwatch
# → netlink-packet-core. No direct dep; stuck until iroh migrates.
"RUSTSEC-2024-0436",
# hickory-proto 0.26.0-beta.4 — CPU exhaustion via O(n²) name compression
# during message encoding. Transitive via iroh → hickory-resolver
# (=0.26.0-beta.4, hard-pinned). Fixed in hickory 0.26.1; unblock when
# iroh releases a version that bumps the pin.
"RUSTSEC-2026-0119",
# hickory-net 0.26.0-beta.4 — NSEC3 closest-encloser proof enters an
# unbounded loop on cross-zone responses (OOM in release builds; panic
# in debug). Same transitive path and same iroh pin as RUSTSEC-2026-0119.
"RUSTSEC-2026-0120",
]
# ── Licenses ───────────────────────────────────────────────────────
[licenses]
version = 2
# MIT + Apache-2.0 + BSD-3-Clause + Unicode are the usual Rust-ecosystem set.
# MPL-2.0 allowed (used by encoding_rs / webpki-roots transitively).
# CDLA-Permissive-2.0 allowed (webpki-roots certs bundle).
allow = [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"Unicode-3.0",
"Unicode-DFS-2016",
"Zlib",
"MPL-2.0",
"CDLA-Permissive-2.0",
"CC0-1.0",
"0BSD",
]
# Reject GPL/AGPL/SSPL on the whole tree.
confidence-threshold = 0.93
# ── Bans ───────────────────────────────────────────────────────────
[bans]
multiple-versions = "warn"
wildcards = "deny"
highlight = "all"
# Explicit allows for known good duplicates (iroh's dep graph has a few).
allow = []
deny = []
# Accept some duplicate crate versions common in the iroh + tokio ecosystems.
skip = []
skip-tree = []
# ── Sources ────────────────────────────────────────────────────────
[sources]
unknown-registry = "deny"
unknown-git = "deny"
allow-git = []
allow-registry = ["https://github.com/rust-lang/crates.io-index"]