-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeny.toml
More file actions
103 lines (93 loc) · 4.08 KB
/
Copy pathdeny.toml
File metadata and controls
103 lines (93 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# cargo-deny configuration
# See https://embarkstudios.github.io/cargo-deny/
[advisories]
db-path = "~/.cargo/advisory-db"
db-urls = ["https://github.com/rustsec/advisory-db"]
# Ignore unmaintained transitive dependencies from syntect/ratatui
# These are indirect dependencies and we can't easily replace them
ignore = [
"RUSTSEC-2025-0141", # bincode - unmaintained (via syntect)
"RUSTSEC-2024-0436", # paste - unmaintained (via ratatui)
"RUSTSEC-2024-0320", # yaml-rust - unmaintained (via syntect)
]
[licenses]
allow = [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"Zlib",
"MPL-2.0",
"Unicode-3.0",
"CC0-1.0",
"BSL-1.0",
# Iggy/rustls transitive dependencies
"OpenSSL",
"CDLA-Permissive-2.0",
]
confidence-threshold = 0.8
# Clarify licenses for zeroconf crates that don't declare licenses in Cargo.toml
# These are all MIT licensed per their repository LICENSE files
[[licenses.clarify]]
crate = "zeroconf"
expression = "MIT"
license-files = []
[[licenses.clarify]]
crate = "zeroconf-macros"
expression = "MIT"
license-files = []
[[licenses.clarify]]
crate = "bonjour-sys"
expression = "MIT"
license-files = []
[[licenses.clarify]]
crate = "avahi-sys"
expression = "MIT"
license-files = []
[bans]
multiple-versions = "warn"
wildcards = "allow"
highlight = "all"
# Specific crate bans or allows
deny = []
# Skip duplicate version checks for transitive dependencies
# These are indirect dependencies from different crates that require different versions
skip = [
# Windows crates - from dirs, crossterm, etc.
{ crate = "windows-sys", reason = "transitive dependency version mismatch" },
{ crate = "windows-targets", reason = "transitive dependency version mismatch" },
{ crate = "windows_aarch64_gnullvm", reason = "transitive dependency version mismatch" },
{ crate = "windows_aarch64_msvc", reason = "transitive dependency version mismatch" },
{ crate = "windows_i686_gnu", reason = "transitive dependency version mismatch" },
{ crate = "windows_i686_gnullvm", reason = "transitive dependency version mismatch" },
{ crate = "windows_i686_msvc", reason = "transitive dependency version mismatch" },
{ crate = "windows_x86_64_gnu", reason = "transitive dependency version mismatch" },
{ crate = "windows_x86_64_gnullvm", reason = "transitive dependency version mismatch" },
{ crate = "windows_x86_64_msvc", reason = "transitive dependency version mismatch" },
# Build dependencies - from zeroconf (bonjour-sys, avahi-sys)
{ crate = "bindgen", reason = "build dependency from zeroconf ecosystem" },
# Common utility crates with version splits across ecosystem
{ crate = "bitflags", reason = "v1 vs v2 split across ecosystem (lsp-types uses v1)" },
{ crate = "darling", reason = "transitive from zeroconf and ratatui" },
{ crate = "darling_core", reason = "transitive from zeroconf and ratatui" },
{ crate = "darling_macro", reason = "transitive from zeroconf and ratatui" },
{ crate = "getrandom", reason = "v0.2 vs v0.3 split across ecosystem" },
{ crate = "hashbrown", reason = "transitive dependency version mismatch" },
{ crate = "itertools", reason = "transitive dependency version mismatch" },
{ crate = "rand", reason = "v0.8 vs v0.9 split across ecosystem" },
{ crate = "rand_chacha", reason = "transitive from rand version split" },
{ crate = "rand_core", reason = "transitive from rand version split" },
{ crate = "rustix", reason = "transitive dependency version mismatch" },
{ crate = "strsim", reason = "transitive from darling version split" },
{ crate = "unicode-width", reason = "transitive from ratatui ecosystem" },
{ crate = "linux-raw-sys", reason = "transitive from rustix version split" },
{ crate = "syn", reason = "v1 vs v2 split (zeroconf uses v1 via derive_builder)" },
{ crate = "which", reason = "v4 vs v7 split (zeroconf bindgen vs wonopcode-iggy-embedded)" },
]
skip-tree = []
[sources]
unknown-registry = "deny"
unknown-git = "warn"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]