9
9
# The values provided in this template are the default values that will be used
10
10
# when any section or field is not specified in your own configuration
11
11
12
+ # Root options
13
+
14
+ # The graph table configures how the dependency graph is constructed and thus
15
+ # which crates the checks are performed against
16
+ [graph ]
12
17
# If 1 or more target triples (and optionally, target_features) are specified,
13
18
# only the specified targets will be checked when running `cargo deny check`.
14
19
# This means, if a particular package is only ever used as a target specific
20
25
targets = [
21
26
# The triple can be any string, but only the target triples built in to
22
27
# rustc (as of 1.40) can be checked against actual config expressions
23
- # { triple = "x86_64-unknown-linux-musl" } ,
28
+ # "x86_64-unknown-linux-musl",
24
29
# You can also specify which target_features you promise are enabled for a
25
30
# particular target. target_features are currently not validated against
26
31
# the actual valid features supported by the target architecture.
27
32
# { triple = "wasm32-unknown-unknown", features = ["atomics"] },
28
33
]
34
+ # When creating the dependency graph used as the source of truth when checks are
35
+ # executed, this field can be used to prune crates from the graph, removing them
36
+ # from the view of cargo-deny. This is an extremely heavy hammer, as if a crate
37
+ # is pruned from the graph, all of its dependencies will also be pruned unless
38
+ # they are connected to another crate in the graph that hasn't been pruned,
39
+ # so it should be used with care. The identifiers are [Package ID Specifications]
40
+ # (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html)
41
+ # exclude = []
42
+ # If true, metadata will be collected with `--all-features`. Note that this can't
43
+ # be toggled off if true, if you want to conditionally enable `--all-features` it
44
+ # is recommended to pass `--all-features` on the cmd line instead
45
+ all-features = false
46
+ # If true, metadata will be collected with `--no-default-features`. The same
47
+ # caveat with `all-features` applies
48
+ no-default-features = false
49
+ # If set, these feature will be enabled when collecting metadata. If `--features`
50
+ # is specified on the cmd line they will take precedence over this option.
51
+ # features = []
52
+
53
+ # The output table provides options for how/if diagnostics are outputted
54
+ [output ]
55
+ # When outputting inclusion graphs in diagnostics that include features, this
56
+ # option can be used to specify the depth at which feature edges will be added.
57
+ # This option is included since the graphs can be quite large and the addition
58
+ # of features from the crate(s) to all of the graph roots can be far too verbose.
59
+ # This option can be overridden via `--feature-depth` on the cmd line
60
+ feature-depth = 1
29
61
30
62
# This section is considered when running `cargo deny check advisories`
31
63
# More documentation for the advisories section can be found here:
32
64
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
33
65
[advisories ]
34
- # The path where the advisory database is cloned/fetched into
35
- db-path = " ~/.cargo/ advisory-db "
66
+ # The path where the advisory databases are cloned/fetched into
67
+ # db-path = "$CARGO_HOME/ advisory-dbs "
36
68
# The url(s) of the advisory databases to use
37
- db-urls = [" https://github.com/rustsec/advisory-db" ]
38
- # The lint level for security vulnerabilities
39
- vulnerability = " deny"
40
- # The lint level for unmaintained crates
41
- unmaintained = " warn"
42
- # The lint level for crates that have been yanked from their source registry
43
- yanked = " warn"
44
- # The lint level for crates with security notices. Note that as of
45
- # 2019-12-17 there are no security notice advisories in
46
- # https://github.com/rustsec/advisory-db
47
- notice = " warn"
69
+ # db-urls = ["https://github.com/rustsec/advisory-db"]
48
70
# A list of advisory IDs to ignore. Note that ignored advisories will still
49
71
# output a note when they are encountered.
50
- ignore = []
51
- # Threshold for security vulnerabilities, any vulnerability with a CVSS score
52
- # lower than the range specified will be ignored. Note that ignored advisories
53
- # will still output a note when they are encountered.
54
- # * None - CVSS Score 0.0
55
- # * Low - CVSS Score 0.1 - 3.9
56
- # * Medium - CVSS Score 4.0 - 6.9
57
- # * High - CVSS Score 7.0 - 8.9
58
- # * Critical - CVSS Score 9.0 - 10.0
59
- # severity-threshold =
72
+ ignore = [
73
+ " RUSTSEC-2024-0370" ,
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" },
77
+ ]
78
+ # If this is true, then cargo deny will use the git executable to fetch advisory database.
79
+ # If this is false, then it uses a built-in git library.
80
+ # Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
81
+ # See Git Authentication for more information about setting up git authentication.
82
+ # git-fetch-with-cli = true
60
83
61
84
# This section is considered when running `cargo deny check licenses`
62
85
# More documentation for the licenses section can be found here:
63
86
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
64
87
[licenses ]
65
- # The lint level for crates which do not have a detectable license
66
- unlicensed = " deny"
67
- # List of explictly allowed licenses
88
+ # List of explicitly allowed licenses
68
89
# See https://spdx.org/licenses/ for list of possible licenses
69
90
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
70
91
allow = [
@@ -83,28 +104,7 @@ allow = [
83
104
" OFL-1.1" ,
84
105
" LicenseRef-UFL-1.0" ,
85
106
" OpenSSL" ,
86
- " GPL-3.0" ,
87
107
]
88
- # List of explictly disallowed licenses
89
- # See https://spdx.org/licenses/ for list of possible licenses
90
- # [possible values: any SPDX 3.11 short identifier (+ optional exception)].
91
- deny = [
92
- # "Nokia",
93
- ]
94
- # Lint level for licenses considered copyleft
95
- copyleft = " warn"
96
- # Blanket approval or denial for OSI-approved or FSF Free/Libre licenses
97
- # * both - The license will be approved if it is both OSI-approved *AND* FSF
98
- # * either - The license will be approved if it is either OSI-approved *OR* FSF
99
- # * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF
100
- # * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved
101
- # * neither - This predicate is ignored and the default lint level is used
102
- allow-osi-fsf-free = " neither"
103
- # Lint level used when no other predicates are matched
104
- # 1. License isn't in the allow or deny lists
105
- # 2. License isn't copyleft
106
- # 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither"
107
- default = " deny"
108
108
# The confidence threshold for detecting a license from license text.
109
109
# The higher the value, the more closely the license text must be to the
110
110
# canonical license text of a valid SPDX license file.
@@ -115,17 +115,15 @@ confidence-threshold = 0.8
115
115
exceptions = [
116
116
# Each entry is the crate and version constraint, and its specific allow
117
117
# list
118
- # { allow = ["Zlib"], name = "adler32", version = "* " },
118
+ # { allow = ["Zlib"], crate = "adler32" },
119
119
]
120
120
121
121
# Some crates don't have (easily) machine readable licensing information,
122
122
# adding a clarification entry for it allows you to manually specify the
123
123
# licensing information
124
124
[[licenses .clarify ]]
125
- # The name of the crate the clarification applies to
126
- name = " ring"
127
- # The optional version constraint for the crate
128
- version = " *"
125
+ # The package spec the clarification applies to
126
+ crate = " ring"
129
127
# The SPDX expression for the license requirements of the crate
130
128
expression = " MIT AND ISC AND OpenSSL"
131
129
# One or more files in the crate's source used as the "source of truth" for
@@ -140,7 +138,9 @@ license-files = [
140
138
141
139
[licenses .private ]
142
140
# If true, ignores workspace crates that aren't published, or are only
143
- # published to private registries
141
+ # published to private registries.
142
+ # To see how to mark a crate as unpublished (to the official registry),
143
+ # visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
144
144
ignore = false
145
145
# One or more private registries that you might publish crates to, if a crate
146
146
# is only published to private registries, and ignore is true, the crate will
@@ -163,30 +163,63 @@ wildcards = "allow"
163
163
# * simplest-path - The path to the version with the fewest edges is highlighted
164
164
# * all - Both lowest-version and simplest-path are used
165
165
highlight = " all"
166
+ # The default lint level for `default` features for crates that are members of
167
+ # the workspace that is being checked. This can be overridden by allowing/denying
168
+ # `default` on a crate-by-crate basis if desired.
169
+ workspace-default-features = " allow"
170
+ # The default lint level for `default` features for external crates that are not
171
+ # members of the workspace. This can be overridden by allowing/denying `default`
172
+ # on a crate-by-crate basis if desired.
173
+ external-default-features = " allow"
166
174
# List of crates that are allowed. Use with care!
167
175
allow = [
168
- # { name = "ansi_term", version = "=0.11.0" },
176
+
177
+ # { crate = "[email protected] ", reason = "you can specify a reason it is allowed" },
169
178
]
170
179
# List of crates to deny
171
180
deny = [
172
- # Each entry the name of a crate and a version range. If version is
173
- # not specified, all versions will be matched.
174
- # { name = "ansi_term", version = "=0.11.0" },
175
- #
181
+
182
+ # { crate = "[email protected] ", reason = "you can specify a reason it is banned" },
176
183
# Wrapper crates can optionally be specified to allow the crate when it
177
184
# is a direct dependency of the otherwise banned crate
178
- # { name = "ansi_term", version = "= 0.11.0", wrappers = [] },
185
+ # { crate = "ansi_term@ 0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term" ] },
179
186
]
187
+
188
+ # List of features to allow/deny
189
+ # Each entry the name of a crate and a version range. If version is
190
+ # not specified, all versions will be matched.
191
+ # [[bans.features]]
192
+ # crate = "reqwest"
193
+ # Features to not allow
194
+ # deny = ["json"]
195
+ # Features to allow
196
+ # allow = [
197
+ # "rustls",
198
+ # "__rustls",
199
+ # "__tls",
200
+ # "hyper-rustls",
201
+ # "rustls",
202
+ # "rustls-pemfile",
203
+ # "rustls-tls-webpki-roots",
204
+ # "tokio-rustls",
205
+ # "webpki-roots",
206
+ # ]
207
+ # If true, the allowed features must exactly match the enabled feature set. If
208
+ # this is set there is no point setting `deny`
209
+ # exact = true
210
+
180
211
# Certain crates/versions that will be skipped when doing duplicate detection.
181
212
skip = [
182
- # { name = "ansi_term", version = "=0.11.0" },
213
+
214
+ # { crate = "[email protected] ", reason = "you can specify a reason why it can't be updated/removed" },
183
215
]
184
216
# Similarly to `skip` allows you to skip certain crates during duplicate
185
217
# detection. Unlike skip, it also includes the entire tree of transitive
186
218
# dependencies starting at the specified crate, up to a certain depth, which is
187
- # by default infinite
219
+ # by default infinite.
188
220
skip-tree = [
189
- # { name = "ansi_term", version = "=0.11.0", depth = 20 },
221
+ # "[email protected] ", # will be skipped along with _all_ of its direct and transitive dependencies
222
+ # { crate = "[email protected] ", depth = 20 },
190
223
]
191
224
192
225
# This section is considered when running `cargo deny check sources`.
@@ -206,9 +239,9 @@ allow-registry = ["https://github.com/rust-lang/crates.io-index"]
206
239
allow-git = []
207
240
208
241
[sources .allow-org ]
209
- # 1 or more github.com organizations to allow git sources for
242
+ # github.com organizations to allow git sources for
210
243
github = [" encounter" ]
211
- # 1 or more gitlab.com organizations to allow git sources for
212
- # gitlab = ["" ]
213
- # 1 or more bitbucket.org organizations to allow git sources for
214
- # bitbucket = ["" ]
244
+ # gitlab.com organizations to allow git sources for
245
+ gitlab = []
246
+ # bitbucket.org organizations to allow git sources for
247
+ bitbucket = []
0 commit comments