11# cargo-deny configuration for RustChan
22# https://embarkstudios.github.io/cargo-deny/
3- #
4- # Run: cargo deny check
5- # CI: cargo deny --log-level error check licenses advisories sources
63
7- # ---------------------------------------------------------------------------
8- # Graph
9- # ---------------------------------------------------------------------------
104[graph ]
11- # Only check dependencies that are actually compiled for the host target.
12- # Dev-only and build-script deps are included by default; that's fine.
135all-features = false
146
15- # ---------------------------------------------------------------------------
16- # Security advisories (RustSec database)
17- # ---------------------------------------------------------------------------
187[advisories ]
19- # Check all dependencies (workspace + transitive) for unmaintained status.
208unmaintained = " all"
21- # Yanked versions in Cargo.lock are always an error.
229yanked = " deny"
23- # No crates are ignored; add entries here if a patched advisory is accepted:
24- # ignore = ["RUSTSEC-0000-0000"]
2510
26- # ---------------------------------------------------------------------------
27- # Licence policy
28- # ---------------------------------------------------------------------------
2911[licenses ]
30- # Confidence threshold for licence detection (0.0–1.0).
31- # 0.8 is the cargo-deny default; lower values accept fuzzier matches.
3212confidence-threshold = 0.8
3313
34- # Every SPDX licence expression that appears in this dependency tree must
35- # appear in this allow-list. Licences are checked per-crate; a crate with
36- # an AND expression (e.g. "(MIT OR Apache-2.0) AND BSD-2-Clause") must have
37- # every component covered.
3814allow = [
39- # The two dominant Rust ecosystem licences — almost every crate uses one
40- # or both of these.
4115 " MIT" ,
4216 " Apache-2.0" ,
43-
44- # LLVM-exception variant used by a handful of compiler-support crates
45- # (e.g. rustc-demangle, compiler_builtins).
4617 " Apache-2.0 WITH LLVM-exception" ,
47-
48- # BSD family
4918 " BSD-2-Clause" ,
5019 " BSD-3-Clause" ,
51-
52- # Unicode data tables (unicode-ident, unicode-xid, etc.)
5320 " Unicode-3.0" ,
54-
55- # Compression / image crates (flate2, miniz_oxide, zlib-rs, png, gif)
5621 " Zlib" ,
57-
58- # Public domain equivalents
5922 " Unlicense" ,
23+ # Used by ring, rustls-webpki, untrusted (via rustls/reqwest)
24+ " ISC" ,
25+ # Used by webpki-roots (Mozilla CA certificate bundle)
26+ " CDLA-Permissive-2.0" ,
6027]
6128
62- # Per-crate exceptions for licences that don't appear in `allow` above but
63- # are acceptable for a specific package. Add entries here rather than
64- # broadening `allow` when a licence is unusual.
6529[[licenses .exceptions ]]
66- # encoding_rs uses a compound expression:
67- # "(MIT OR Apache-2.0) AND BSD-2-Clause"
68- # MIT, Apache-2.0, and BSD-2-Clause are all in `allow`; this exception is
69- # listed here for documentation clarity in case cargo-deny evaluates the
70- # compound expression as a single token.
7130name = " encoding_rs"
7231version = " *"
7332allow = [" MIT" , " Apache-2.0" , " BSD-2-Clause" ]
7433
75- # ---------------------------------------------------------------------------
76- # Dependency bans
77- # ---------------------------------------------------------------------------
7834[bans ]
79- # Allow multiple versions of the same crate (common in large dependency
80- # graphs; Cargo already handles version isolation correctly).
8135multiple-versions = " warn"
8236
83- # No crates are banned outright; add entries here as needed:
84- # [[bans.deny]]
85- # name = "some-crate"
86- # version = "*"
87- # reason = "use X instead"
88-
89- # Unavoidable transitive version splits — different subtrees pin different
90- # majors/minors and cannot be unified without upstream changes.
91-
92- # argon2 → password-hash → rand_core 0.6; uuid → rand 0.9 → rand_core 0.9
37+ # argon2 → password-hash → rand_core 0.6
9338[[bans .skip ]]
9439name = " rand_core"
9540version = " 0.6"
9641
97- [[bans .skip ]]
98- name = " rand_core"
99- version = " 0.9"
100-
101- # rand_core 0.6 pulls getrandom 0.2; rand 0.9 pulls getrandom 0.3;
102- # tempfile pulls getrandom 0.4 via rustix
10342[[bans .skip ]]
10443name = " getrandom"
10544version = " 0.2"
@@ -112,7 +51,6 @@ version = "0.3"
11251name = " getrandom"
11352version = " 0.4"
11453
115- # getrandom 0.3/0.4 each pull a different r-efi minor
11654[[bans .skip ]]
11755name = " r-efi"
11856version = " 5"
@@ -121,7 +59,6 @@ version = "5"
12159name = " r-efi"
12260version = " 6"
12361
124- # dashmap 6 uses hashbrown 0.14; rusqlite/zip use hashbrown 0.16
12562[[bans .skip ]]
12663name = " hashbrown"
12764version = " 0.14"
@@ -130,41 +67,19 @@ version = "0.14"
13067name = " hashbrown"
13168version = " 0.16"
13269
133- # socket2 (tokio) uses windows-sys 0.60; clap/tempfile/rustix use 0.61
134- [[bans .skip ]]
135- name = " windows-sys"
136- version = " 0.60"
137-
13870[[bans .skip ]]
13971name = " windows-sys"
14072version = " 0.61"
14173
142- # image directly uses zune-jpeg 0.5.x + zune-core 0.5.x, while its
143- # tiff sub-dependency requires zune-jpeg 0.4.x + zune-core 0.4.x.
144- # These are distinct semver ranges so Cargo cannot unify them without
145- # an upstream tiff release; skipping both versions here.
146- [[bans .skip ]]
147- name = " zune-core"
148- version = " 0.4"
149-
15074[[bans .skip ]]
15175name = " zune-core"
15276version = " 0.5"
15377
154- [[bans .skip ]]
155- name = " zune-jpeg"
156- version = " 0.4"
157-
15878[[bans .skip ]]
15979name = " zune-jpeg"
16080version = " 0.5"
16181
162- # ---------------------------------------------------------------------------
163- # Crate sources
164- # ---------------------------------------------------------------------------
16582[sources ]
166- # Only crates.io is trusted by default. Add git or local entries below if
167- # you use path or git dependencies.
16883unknown-registry = " deny"
16984unknown-git = " deny"
170- allow-registry = [" https://github.com/rust-lang/crates.io-index" ]
85+ allow-registry = [" https://github.com/rust-lang/crates.io-index" ]
0 commit comments