1111
1212# Root options
1313
14+ # The graph table configures how the dependency graph is constructed and thus
15+ # which crates the checks are performed against
16+ [graph ]
1417# If 1 or more target triples (and optionally, target_features) are specified,
1518# only the specified targets will be checked when running `cargo deny check`.
1619# This means, if a particular package is only ever used as a target specific
2023# dependencies not shared by any other crates, would be ignored, as the target
2124# list here is effectively saying which targets you are building for.
2225targets = [
23- # The triple can be any string, but only the target triples built in to
24- # rustc (as of 1.40) can be checked against actual config expressions
25- # { triple = "x86_64-unknown-linux-musl" } ,
26- # You can also specify which target_features you promise are enabled for a
27- # particular target. target_features are currently not validated against
28- # the actual valid features supported by the target architecture.
29- # { triple = "wasm32-unknown-unknown", features = ["atomics"] },
26+ # The triple can be any string, but only the target triples built in to
27+ # rustc (as of 1.40) can be checked against actual config expressions
28+ # "x86_64-unknown-linux-musl",
29+ # You can also specify which target_features you promise are enabled for a
30+ # particular target. target_features are currently not validated against
31+ # the actual valid features supported by the target architecture.
32+ # { triple = "wasm32-unknown-unknown", features = ["atomics"] },
3033]
3134# When creating the dependency graph used as the source of truth when checks are
3235# executed, this field can be used to prune crates from the graph, removing them
@@ -46,6 +49,9 @@ no-default-features = false
4649# If set, these feature will be enabled when collecting metadata. If `--features`
4750# is specified on the cmd line they will take precedence over this option.
4851# features = []
52+
53+ # The output table provides options for how/if diagnostics are outputted
54+ [output ]
4955# When outputting inclusion graphs in diagnostics that include features, this
5056# option can be used to specify the depth at which feature edges will be added.
5157# This option is included since the graphs can be quite large and the addition
@@ -57,35 +63,18 @@ feature-depth = 1
5763# More documentation for the advisories section can be found here:
5864# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
5965[advisories ]
60- # The path where the advisory database is cloned/fetched into
61- db-path = " ~/.cargo/ advisory-db "
66+ # The path where the advisory databases are cloned/fetched into
67+ # db-path = "$CARGO_HOME/ advisory-dbs "
6268# The url(s) of the advisory databases to use
63- db-urls = [" https://github.com/rustsec/advisory-db" ]
64- # The lint level for security vulnerabilities
65- vulnerability = " deny"
66- # The lint level for unmaintained crates
67- unmaintained = " warn"
68- # The lint level for crates that have been yanked from their source registry
69- yanked = " warn"
70- # The lint level for crates with security notices. Note that as of
71- # 2019-12-17 there are no security notice advisories in
72- # https://github.com/rustsec/advisory-db
73- notice = " warn"
69+ # db-urls = ["https://github.com/rustsec/advisory-db"]
7470# A list of advisory IDs to ignore. Note that ignored advisories will still
7571# output a note when they are encountered.
7672ignore = [
77- # "RUSTSEC-0000-0000",
73+ # "RUSTSEC-0000-0000",
74+ # { id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" },
75+ # "[email protected] ", # you can also ignore yanked crate versions if you wish 76+ # { crate = "[email protected] ", reason = "you can specify why you are ignoring the yanked crate" }, 7877]
79- # Threshold for security vulnerabilities, any vulnerability with a CVSS score
80- # lower than the range specified will be ignored. Note that ignored advisories
81- # will still output a note when they are encountered.
82- # * None - CVSS Score 0.0
83- # * Low - CVSS Score 0.1 - 3.9
84- # * Medium - CVSS Score 4.0 - 6.9
85- # * High - CVSS Score 7.0 - 8.9
86- # * Critical - CVSS Score 9.0 - 10.0
87- # severity-threshold =
88-
8978# If this is true, then cargo deny will use the git executable to fetch advisory database.
9079# If this is false, then it uses a built-in git library.
9180# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
@@ -96,40 +85,15 @@ ignore = [
9685# More documentation for the licenses section can be found here:
9786# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
9887[licenses ]
99- # The lint level for crates which do not have a detectable license
100- unlicensed = " deny"
10188# List of explicitly allowed licenses
10289# See https://spdx.org/licenses/ for list of possible licenses
10390# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
10491allow = [
105- " MIT" ,
106- " Apache-2.0" ,
107- " ISC" ,
108- " Unicode-DFS-2016" ,
109- " BSD-3-Clause" ,
110- " OpenSSL" ,
111- # "Apache-2.0 WITH LLVM-exception",
112- ]
113- # List of explicitly disallowed licenses
114- # See https://spdx.org/licenses/ for list of possible licenses
115- # [possible values: any SPDX 3.11 short identifier (+ optional exception)].
116- deny = [
117- # "Nokia",
92+ " MIT" ,
93+ " Apache-2.0" ,
94+ " Unicode-DFS-2016"
95+ # "Apache-2.0 WITH LLVM-exception",
11896]
119- # Lint level for licenses considered copyleft
120- copyleft = " warn"
121- # Blanket approval or denial for OSI-approved or FSF Free/Libre licenses
122- # * both - The license will be approved if it is both OSI-approved *AND* FSF
123- # * either - The license will be approved if it is either OSI-approved *OR* FSF
124- # * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF
125- # * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved
126- # * neither - This predicate is ignored and the default lint level is used
127- allow-osi-fsf-free = " neither"
128- # Lint level used when no other predicates are matched
129- # 1. License isn't in the allow or deny lists
130- # 2. License isn't copyleft
131- # 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither"
132- default = " deny"
13397# The confidence threshold for detecting a license from license text.
13498# The higher the value, the more closely the license text must be to the
13599# canonical license text of a valid SPDX license file.
@@ -138,30 +102,28 @@ confidence-threshold = 0.8
138102# Allow 1 or more licenses on a per-crate basis, so that particular licenses
139103# aren't accepted for every possible crate as with the normal allow list
140104exceptions = [
141- # Each entry is the crate and version constraint, and its specific allow
142- # list
143- # { allow = ["Zlib"], name = "adler32", version = "* " },
105+ # Each entry is the crate and version constraint, and its specific allow
106+ # list
107+ # { allow = ["Zlib"], crate = "adler32" },
144108]
145109
146110# Some crates don't have (easily) machine readable licensing information,
147111# adding a clarification entry for it allows you to manually specify the
148112# licensing information
149- [[licenses .clarify ]]
150- # The name of the crate the clarification applies to
151- name = " ring"
152- # The optional version constraint for the crate
153- version = " *"
113+ # [[licenses.clarify]]
114+ # The package spec the clarification applies to
115+ # crate = "ring"
154116# The SPDX expression for the license requirements of the crate
155- expression = " MIT AND ISC AND OpenSSL"
117+ # expression = "MIT AND ISC AND OpenSSL"
156118# One or more files in the crate's source used as the "source of truth" for
157119# the license expression. If the contents match, the clarification will be used
158120# when running the license check, otherwise the clarification will be ignored
159121# and the crate will be checked normally, which may produce warnings or errors
160122# depending on the rest of your configuration
161- license-files = [
162- # Each entry is a crate relative path, and the (opaque) hash of its contents
163- { path = " LICENSE" , hash = 0xbd0eed23 },
164- ]
123+ # license-files = [
124+ # Each entry is a crate relative path, and the (opaque) hash of its contents
125+ # { path = "LICENSE", hash = 0xbd0eed23 }
126+ # ]
165127
166128[licenses .private ]
167129# If true, ignores workspace crates that aren't published, or are only
@@ -173,7 +135,7 @@ ignore = false
173135# is only published to private registries, and ignore is true, the crate will
174136# not have its license(s) checked
175137registries = [
176- # "https://sekretz.com/registry
138+ # "https://sekretz.com/registry
177139]
178140
179141# This section is considered when running `cargo deny check bans`.
@@ -200,24 +162,23 @@ workspace-default-features = "allow"
200162external-default-features = " allow"
201163# List of crates that are allowed. Use with care!
202164allow = [
203- # { name = "ansi_term", version = "=0.11.0" },
165+ 166+ # { crate = "[email protected] ", reason = "you can specify a reason it is allowed" }, 204167]
205168# List of crates to deny
206169deny = [
207- # Each entry the name of a crate and a version range. If version is
208- # not specified, all versions will be matched.
209- # { name = "ansi_term", version = "=0.11.0" },
210- #
211- # Wrapper crates can optionally be specified to allow the crate when it
212- # is a direct dependency of the otherwise banned crate
213- # { name = "ansi_term", version = "=0.11.0", wrappers = [] },
170+ 171+ # { crate = "[email protected] ", reason = "you can specify a reason it is banned" }, 172+ # Wrapper crates can optionally be specified to allow the crate when it
173+ # is a direct dependency of the otherwise banned crate
174+ # { crate = "[email protected] ", wrappers = ["this-crate-directly-depends-on-ansi_term"] }, 214175]
215176
216177# List of features to allow/deny
217178# Each entry the name of a crate and a version range. If version is
218179# not specified, all versions will be matched.
219180# [[bans.features]]
220- # name = "reqwest"
181+ # crate = "reqwest"
221182# Features to not allow
222183# deny = ["json"]
223184# Features to allow
@@ -238,14 +199,16 @@ deny = [
238199
239200# Certain crates/versions that will be skipped when doing duplicate detection.
240201skip = [
241- # { name = "ansi_term", version = "=0.11.0" },
202+ 203+ # { crate = "[email protected] ", reason = "you can specify a reason why it can't be updated/removed" }, 242204]
243205# Similarly to `skip` allows you to skip certain crates during duplicate
244206# detection. Unlike skip, it also includes the entire tree of transitive
245207# dependencies starting at the specified crate, up to a certain depth, which is
246208# by default infinite.
247209skip-tree = [
248- # { name = "ansi_term", version = "=0.11.0", depth = 20 },
210+ # "[email protected] ", # will be skipped along with _all_ of its direct and transitive dependencies 211+ # { crate = "[email protected] ", depth = 20 }, 249212]
250213
251214# This section is considered when running `cargo deny check sources`.
@@ -264,10 +227,10 @@ allow-registry = ["https://github.com/rust-lang/crates.io-index"]
264227# List of URLs for allowed Git repositories
265228allow-git = []
266229
267- [sources .allow-org ]
230+ # [sources.allow-org]
268231# 1 or more github.com organizations to allow git sources for
269- github = [" " ]
232+ # github = [""]
270233# 1 or more gitlab.com organizations to allow git sources for
271- gitlab = [" " ]
234+ # gitlab = [""]
272235# 1 or more bitbucket.org organizations to allow git sources for
273- bitbucket = [" " ]
236+ # bitbucket = [""]
0 commit comments