-
Notifications
You must be signed in to change notification settings - Fork 105
Expand file tree
/
Copy pathdeny.toml
More file actions
110 lines (97 loc) · 4.04 KB
/
deny.toml
File metadata and controls
110 lines (97 loc) · 4.04 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
104
105
106
107
108
109
110
[graph]
# Cargo deny will check dependencies via `--all-features`
all-features = true
[advisories]
ignore = [
# List of advisories we have ignored
{ id = "RUSTSEC-2023-0071", reason = "we dont use rsa keys" },
{ id = "RUSTSEC-2026-0002", reason = "todo" },
# astral-tokio-tar 0.5.6 is a transitive dep of testcontainers; upgrade blocked
# until testcontainers releases a version depending on astral-tokio-tar >=0.6.0
{ id = "RUSTSEC-2026-0066", reason = "transitive dep via testcontainers, low severity, no fix available upstream yet" },
# rustls-webpki 0.101.7 and 0.102.8 are pulled in by older aws-sdk/reqwest 0.11
# crates; upgrade blocked until those dependents update their rustls stack
{ id = "RUSTSEC-2026-0049", reason = "transitive dep via aws-sdk and reqwest 0.11, low severity, upgrade blocked by upstream" },
]
unmaintained = "workspace" # only warn for direct dependencies (not transitive ones)
version = 2
[bans]
skip = [{ name = "serialport", version = "4.7.0" }]
[sources]
unknown-registry = "deny"
[licenses]
version = 2
# We want really high confidence when inferring licenses from text
confidence-threshold = 1.0
# List of explicitly allowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
allow = [
"0BSD",
"Apache-2.0 WITH LLVM-exception",
"Apache-2.0",
"BSD-2-Clause",
"BSD-2-Clause-Patent",
"BSD-3-Clause",
"BSL-1.0",
"CC0-1.0",
"CDLA-Permissive-2.0",
"ISC",
"LicenseRef-ftdi-proprietary",
"LicenseRef-ring",
"LicenseRef-wc-proprietary",
"MIT",
"MPL-2.0", # Although this is copyleft, it is scoped to modifying the original files
"OpenSSL",
"Unicode-3.0",
"Unicode-DFS-2016",
"Unlicense",
"Zlib",
"NCSA",
]
exceptions = [
# We do not particularly like the EPL-2.0 license (MPL-2.0 is much better).
# But we are willing to make an exception for zenoh's transitive
# dependencies *only*.
# See also: https://github.com/eclipse-zenoh/zenoh/issues/1625
{ allow = ["EPL-2.0"], crate = "keyed-set" },
{ allow = ["EPL-2.0"], crate = "ringbuffer-spsc" },
{ allow = ["EPL-2.0"], crate = "token-cell" },
{ allow = ["EPL-2.0"], crate = "validated_struct" },
{ allow = ["EPL-2.0"], crate = "validated_struct_macros" },
# We don't atm have a viable altnerative to libsquashfs1 that is
# permissively licensed. This is OK as long as we link it dynamically.
{ allow = ["LGPL-3.0-or-later"], crate = "license-stub-libsquashfs1" },
# Gstreamer is needed, unless we want to write our own GPU accelerated video codec
# or use nvidia video-codec-sdk ourselves. This is OK as long as we link gstreamer
# dynamically
{ allow = ["LGPL-2.1-only"], crate = "license-stub-gstreamer" },
# GStreamer depends on glib, so does orb-bidiff-squashfs-shim. This is OK as
# long as we link it dynamically.
{ allow = ["LGPL-2.1-or-later"], crate = "license-stub-glib" },
]
# See https://github.com/briansmith/ring/blob/95948b3977013aed16db92ae32e6b8384496a740/deny.toml#L12
[[licenses.clarify]]
expression = "LicenseRef-ring"
license-files = [{ path = "LICENSE", hash = 0xbd0eed23 }]
name = "ring"
[[licenses.clarify]]
# @thebutlah reviewed the license code. It doesn't impose any copyleft
# restrictions on us, and doesn't seem to impose any restrictions on
# distribution. As long as we don't put any other copyleft code in
# orb-software, we won't run afoul of any license restrictions AFAICT. We
# should seek to reimplement pyftdi in rust using nusb if we can, though.
# Because its not good to have these proprietary libs in here.
expression = "LicenseRef-ftdi-proprietary"
license-files = [{ path = "LICENSE", hash = 0x0d4f9606 }]
name = "libftd2xx-ffi"
# Google's minijail is BSD-3-Clause but the Cargo.toml doesn't specify a
# license field. The LICENSE file is at the root of the repository, so the path
# is relative to the crate directories (rust/minijail/ and rust/minijail-sys/).
[[licenses.clarify]]
expression = "BSD-3-Clause"
license-files = [{ path = "../../LICENSE", hash = 0xf1f873f5 }]
name = "minijail"
[[licenses.clarify]]
expression = "BSD-3-Clause"
license-files = [{ path = "../../LICENSE", hash = 0xf1f873f5 }]
name = "minijail-sys"