-
Notifications
You must be signed in to change notification settings - Fork 9
/
deny.toml
299 lines (287 loc) · 11.6 KB
/
deny.toml
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
# This template contains all of the possible sections and their default values
# Note that all fields that take a lint level have these possible values:
# * deny - An error will be produced and the check will fail
# * warn - A warning will be produced, but the check will not fail
# * allow - No warning or error will be produced, though in some cases a note
# will be
# The values provided in this template are the default values that will be used
# when any section or field is not specified in your own configuration
# This section is considered when running `cargo deny check advisories`
# More documentation for the advisories section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
[advisories]
# The path where the advisory database is cloned/fetched into
db-path = "~/.cargo/advisory-db"
# The url(s) of the advisory databases to use
db-urls = ["https://github.com/rustsec/advisory-db"]
# A list of advisory IDs to ignore. Note that ignored advisories will still
# output a note when they are encountered.
ignore = [
#"RUSTSEC-0000-0000",
{ id = "RUSTSEC-2021-0139", reason = "ignore ansi_term unmaintained" },
{ id = "RUSTSEC-2022-0081", reason = "ignore json unmaintained" },
{ id = "RUSTSEC-2024-0388", reason = "ignore drivative unmaintained" },
]
# Threshold for security vulnerabilities, any vulnerability with a CVSS score
# lower than the range specified will be ignored. Note that ignored advisories
# will still output a note when they are encountered.
# * None - CVSS Score 0.0
# * Low - CVSS Score 0.1 - 3.9
# * Medium - CVSS Score 4.0 - 6.9
# * High - CVSS Score 7.0 - 8.9
# * Critical - CVSS Score 9.0 - 10.0
#severity-threshold =
# If this is true, then cargo deny will use the git executable to fetch advisory database.
# If this is false, then it uses a built-in git library.
# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
# See Git Authentication for more information about setting up git authentication.
git-fetch-with-cli = false
# This section is considered when running `cargo deny check licenses`
# More documentation for the licenses section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
[licenses]
# List of explicitly allowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
allow = [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
# Required for unicode files
"Unicode-DFS-2016",
# Required for ring
"OpenSSL",
"CC0-1.0",
]
# The confidence threshold for detecting a license from license text.
# The higher the value, the more closely the license text must be to the
# canonical license text of a valid SPDX license file.
# [possible values: any between 0.0 and 1.0].
confidence-threshold = 0.8
# Allow 1 or more licenses on a per-crate basis, so that particular licenses
# aren't accepted for every possible crate as with the normal allow list
exceptions = [
# Each entry is the crate and version constraint, and its specific allow
{ crate = "webpki-roots", allow = ["MPL-2.0"] },
{ crate = "webpki-root-certs", allow = ["MPL-2.0"] },
{ crate = "type_analysis", allow = ["GPL-3.0"] },
{ crate = "program_structure", allow = ["GPL-3.0"] },
{ crate = "parser", allow = ["GPL-3.0"] },
{ crate = "dag", allow = ["GPL-3.0"] },
{ crate = "constraint_writers", allow = ["GPL-3.0"] },
{ crate = "constraint_list", allow = ["GPL-3.0"] },
{ crate = "constraint_generation", allow = ["GPL-3.0"] },
{ crate = "constant_tracking", allow = ["GPL-3.0"] },
{ crate = "compiler", allow = ["GPL-3.0"] },
{ crate = "code_producers", allow = ["GPL-3.0"] },
{ crate = "circom_algebra", allow = ["GPL-3.0"] },
{ crate = "sized-chunks", allow = ["MPL-2.0"] },
{ crate = "bitmaps", allow = ["MPL-2.0"] },
{ crate = "im", allow = ["MPL-2.0"] },
]
# Some crates don't have (easily) machine readable licensing information,
# adding a clarification entry for it allows you to manually specify the
# licensing information
[[licenses.clarify]]
# The name of the crate the clarification applies to
name = "ring"
# The optional version constraint for the crate
# version = "*"
# The SPDX expression for the license requirements of the crate
expression = "MIT AND ISC AND OpenSSL"
# One or more files in the crate's source used as the "source of truth" for
# the license expression. If the contents match, the clarification will be used
# when running the license check, otherwise the clarification will be ignored
# and the crate will be checked normally, which may produce warnings or errors
# depending on the rest of your configuration
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "LICENSE", hash = 0xbd0eed23 },
]
# Start of circom related license section
[[licenses.clarify]]
name = "circom_algebra"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "code_producers"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "compiler"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "dag"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "constraint_list"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "constraint_generation"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "constant_tracking"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "constraint_writers"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "parser"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "program_structure"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[[licenses.clarify]]
name = "type_analysis"
expression = "GPL-3.0-only"
license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
{ path = "../COPYING", hash = 0 },
]
[licenses.private]
# If true, ignores workspace crates that aren't published, or are only
# published to private registries.
# To see how to mark a crate as unpublished (to the official registry),
# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
ignore = true
# One or more private registries that you might publish crates to, if a crate
# is only published to private registries, and ignore is true, the crate will
# not have its license(s) checked
registries = ["taceo"]
# This section is considered when running `cargo deny check bans`.
# More documentation about the 'bans' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
[bans]
# Lint level for when multiple versions of the same crate are detected
multiple-versions = "warn"
# Lint level for when a crate version requirement is `*`
wildcards = "warn"
# The graph highlighting used when creating dotgraphs for crates
# with multiple versions
# * lowest-version - The path to the lowest versioned duplicate is highlighted
# * simplest-path - The path to the version with the fewest edges is highlighted
# * all - Both lowest-version and simplest-path are used
highlight = "all"
# The default lint level for `default` features for crates that are members of
# the workspace that is being checked. This can be overriden by allowing/denying
# `default` on a crate-by-crate basis if desired.
workspace-default-features = "allow"
# The default lint level for `default` features for external crates that are not
# members of the workspace. This can be overriden by allowing/denying `default`
# on a crate-by-crate basis if desired.
external-default-features = "allow"
# List of crates that are allowed. Use with care!
allow = [
#{ name = "ansi_term", version = "=0.11.0" },
]
# List of crates to deny
deny = [
# Each entry the name of a crate and a version range. If version is
# not specified, all versions will be matched.
#{ name = "ansi_term", version = "=0.11.0" },
#
# Wrapper crates can optionally be specified to allow the crate when it
# is a direct dependency of the otherwise banned crate
#{ name = "ansi_term", version = "=0.11.0", wrappers = [] },
]
# List of features to allow/deny
# Each entry the name of a crate and a version range. If version is
# not specified, all versions will be matched.
#[[bans.features]]
#name = "reqwest"
# Features to not allow
#deny = ["json"]
# Features to allow
#allow = [
# "rustls",
# "__rustls",
# "__tls",
# "hyper-rustls",
# "rustls",
# "rustls-pemfile",
# "rustls-tls-webpki-roots",
# "tokio-rustls",
# "webpki-roots",
#]
# If true, the allowed features must exactly match the enabled feature set. If
# this is set there is no point setting `deny`
#exact = true
# Certain crates/versions that will be skipped when doing duplicate detection.
skip = [
#{ name = "ansi_term", version = "=0.11.0" },
]
# Similarly to `skip` allows you to skip certain crates during duplicate
# detection. Unlike skip, it also includes the entire tree of transitive
# dependencies starting at the specified crate, up to a certain depth, which is
# by default infinite.
skip-tree = [
#{ name = "ansi_term", version = "=0.11.0", depth = 20 },
]
# This section is considered when running `cargo deny check sources`.
# More documentation about the 'sources' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
[sources]
# Lint level for what to happen when a crate from a crate registry that is not
# in the allow list is encountered
unknown-registry = "deny"
# Lint level for what to happen when a crate from a git repository that is not
# in the allow list is encountered
unknown-git = "deny"
# List of URLs for allowed crate registries. Defaults to the crates.io index
# if not specified. If it is specified but empty, no registries are allowed.
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
# List of URLs for allowed Git repositories
allow-git = [
"https://github.com/noir-lang/noir",
"https://github.com/jfecher/chumsky",
"https://github.com/GaloisInc/swanky",
"https://github.com/GaloisInc/ff",
]
[sources.allow-org]
# 1 or more github.com organizations to allow git sources for
github = ["TaceoLabs"]
# 1 or more gitlab.com organizations to allow git sources for
gitlab = []
# 1 or more bitbucket.org organizations to allow git sources for
bitbucket = []