certmagic 0.2.0

Automatic TLS certificate acquisition, renewal, and maintenance for Rust servers
Documentation
# cargo-deny config: each section is checked by `cargo deny check` in the security workflow
# Documentation: https://embarkstudios.github.io/cargo-deny/

[graph]
# Scan the dependency surface of every feature combination (dev-dependencies included)
all-features = true

[licenses]
version = 2
confidence-threshold = 0.93
allow = [
    "Apache-2.0",
    "Apache-2.0 WITH LLVM-exception",
    "BSD-2-Clause",
    "BSD-3-Clause",
    "BSL-1.0", # boost; tracing-related crates
    "CC0-1.0",
    "CDLA-Permissive-2.0", # webpki / linux-raw-sys metadata / License for webpki-roots 0.26+ root certificate data.
    "ISC",
    "MIT",
    "MIT-0",
    "MPL-2.0",
    "Unicode-3.0",
    "Zlib",
]

# ring uses a non-standard SPDX declaration (OpenSSL-derived terms); clarify
# it explicitly following the cargo-deny template.
[[licenses.clarify]]
name = "ring"
expression = "ISC AND MIT AND OpenSSL"
license-files = [{ path = "LICENSE", hash = 0xbd0eed23 }]

[advisories]
version = 2
# Warn on yanked versions; RustSec advisories fail by default.
yanked = "warn"
# RustCrypto RSA 0.10.0-rc.19 is still affected by Marvin timing side
# channels and upstream has not published a fixed release. RSA is opt-in in
# this crate; keep the exception explicit until RustCrypto ships a fix.
ignore = ["RUSTSEC-2023-0071"]

[bans]
# Warn on multiple versions of the same crate while the dependency graph is
# monitored; tighten this to deny after the actual graph is stable.
multiple-versions = "warn"

[sources]
unknown-registry = "warn"
unknown-git = "warn"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]