This repository has been archived by the owner on Apr 15, 2024. It is now read-only.
forked from matrix-org/matrix-authentication-service
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeny.toml
97 lines (85 loc) · 2.99 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
targets = [
{ triple = "x86_64-unknown-linux-gnu" },
{ triple = "aarch64-unknown-linux-gnu" },
{ triple = "x86_64-apple-darwin" },
{ triple = "aarch64-apple-darwin" },
]
[advisories]
db-path = "~/.cargo/advisory-db"
db-urls = ["/~https://github.com/rustsec/advisory-db"]
vulnerability = "deny"
unmaintained = "warn"
yanked = "warn"
notice = "warn"
ignore = [
# `wasmtime` depends on `mach`
# PR to migrate to `mach2`: /~https://github.com/bytecodealliance/wasmtime/pull/6164
"RUSTSEC-2020-0168",
# RSA key extraction "Marvin Attack". This is only relevant when using
# PKCS#1 v1.5 encryption, which we don't
"RUSTSEC-2023-0071"
]
[licenses]
# Deny unlicensed crates and those with a copyleft license
unlicensed = "deny"
copyleft = "deny"
default = "deny"
# By default, allow all licenses that are OSI or FSF approved
allow-osi-fsf-free = "both"
allow = [
"MPL-2.0",
"0BSD", # Used by `quoted_printable`
"OpenSSL", # Used by `ring`
"Unicode-DFS-2016", # Used by `unicode-ident`
]
deny = []
# Ring's license is a bit complicated, so we need to specify it manually
[[licenses.clarify]]
name = "ring"
version = "*"
expression = "MIT AND ISC AND OpenSSL"
license-files = [
{ path = "LICENSE", hash = 0xbd0eed23 }
]
[bans]
# List of crates to deny
deny = [
# We should never depend on openssl
{ name = "openssl" },
{ name = "openssl-sys" },
{ name = "native-tls" },
]
# We try to avoid duplicating crates and track exceptions here
multiple-versions = "deny"
skip = [
{ name = "spin", version = "0.5.2" }, # lazy_static and ring depends on the old version
{ name = "event-listener", version = "2.5.3" }, # async-channel (wiremock) and sqlx-core depend on the old version
{ name = "regex-syntax", version = "0.6.29" }, # tracing-subscriber[env-filter] -> matchers depends on the old version
{ name = "regex-automata", version = "0.1.10" }, # ^
{ name = "ordered-float", version = "2.10.0" }, # opentelemetry-jaeger -> thrift depends on the old version
{ name = "itertools", version = "0.10.5" }, # wasmtime & others depends on the old version
{ name = "bitflags", version = "1.3.2" }, # axum depends on an old version
{ name = "hashbrown" }, # Too many versions :(
# sqlx uses old versions of those:
{ name = "rustls", version = "0.21.10" },
{ name = "rustls-pemfile", version = "1.0.4" },
{ name = "rustls-webpki", version = "0.101.7" },
{ name = "webpki-roots", version = "0.25.3" },
]
skip-tree = [
# Let's ignore wiremock for now, we want to get rid of it
{ name = "wiremock", depth = 3 },
{ name = "darling", version = "0.14.4", depth = 2 }, # sea-query-attr depends on an old version
]
# We should never enable the (default) `oldtime` feature of `chrono`
[[bans.features]]
name = "chrono"
deny = ["oldtime"]
[sources]
unknown-registry = "warn"
unknown-git = "warn"
allow-registry = ["/~https://github.com/rust-lang/crates.io-index"]
allow-git = []
[sources.allow-org]
# Allow our own crates
github = ["matrix-org"]