chore: add cargo-deny for supply-chain, license, and advisory linting (#215)

This commit is contained in:
Mojtaba Chenani
2026-08-18 19:06:22 +02:00
committed by GitHub
parent fbc8b7741f
commit fa38c47281
18 changed files with 175 additions and 12 deletions
+10
View File
@@ -47,6 +47,16 @@ jobs:
- run: rustup component add rustfmt
- run: cargo fmt --all -- --check
cargo-deny:
name: Cargo Deny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Reads the dependency graph only, so no protoc/liblogosdelivery needed.
- uses: EmbarkStudios/cargo-deny-action@v2
with:
command: check
smoketest:
name: Smoketest
environment: ${{ github.ref == 'refs/heads/main' && 'public-cache' || '' }}
Generated
+87 -12
View File
@@ -754,9 +754,9 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.102"
version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
[[package]]
name = "arboard"
@@ -836,6 +836,23 @@ dependencies = [
"zeroize",
]
[[package]]
name = "ark-ff"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7a806ac6c8307b929df4645776290a50ee2aac754ad09d8bdf73391309e43af"
dependencies = [
"ark-ff-asm 0.6.0",
"ark-ff-macros 0.6.0",
"ark-serialize 0.6.0",
"ark-std 0.6.0",
"digest 0.10.7",
"educe",
"num-bigint",
"num-traits",
"zeroize",
]
[[package]]
name = "ark-ff-asm"
version = "0.3.0"
@@ -866,6 +883,16 @@ dependencies = [
"syn 2.0.117",
]
[[package]]
name = "ark-ff-asm"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1479009684adc073dff49a1025d3a7065b317a9ead25aaaca38cdc70058ba8a2"
dependencies = [
"quote",
"syn 2.0.117",
]
[[package]]
name = "ark-ff-macros"
version = "0.3.0"
@@ -904,6 +931,19 @@ dependencies = [
"syn 2.0.117",
]
[[package]]
name = "ark-ff-macros"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a0691ed21ef00ef89c1e9bda832eba493dda3ec2f8d892fb25b705f73f06bb8"
dependencies = [
"num-bigint",
"num-traits",
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]]
name = "ark-serialize"
version = "0.3.0"
@@ -937,6 +977,30 @@ dependencies = [
"num-bigint",
]
[[package]]
name = "ark-serialize"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a74dd304fd536fb95d0a328e72be759209cc496a9da094c5bc56e5fea4f9e86b"
dependencies = [
"ark-serialize-derive",
"ark-std 0.6.0",
"digest 0.10.7",
"num-bigint",
"serde_with",
]
[[package]]
name = "ark-serialize-derive"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f153690697a2b91e5e1251ff98411ee5371500a111a0fd317a70e588eb300f9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]]
name = "ark-std"
version = "0.3.0"
@@ -967,6 +1031,16 @@ dependencies = [
"rand 0.8.6",
]
[[package]]
name = "ark-std"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "367c9c827ed431bff6868b7aa926e05b16eb46603cc8b6e768e4a5553fa1d155"
dependencies = [
"num-traits",
"rand 0.8.6",
]
[[package]]
name = "arrayvec"
version = "0.7.6"
@@ -1632,9 +1706,9 @@ dependencies = [
[[package]]
name = "crossbeam-epoch"
version = "0.9.18"
version = "0.9.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f"
dependencies = [
"crossbeam-utils",
]
@@ -2132,7 +2206,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
"windows-sys 0.61.2",
"windows-sys 0.52.0",
]
[[package]]
@@ -3760,7 +3834,7 @@ version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
"windows-sys 0.61.2",
"windows-sys 0.59.0",
]
[[package]]
@@ -4958,14 +5032,15 @@ dependencies = [
[[package]]
name = "ruint"
version = "1.18.0"
version = "1.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0298da754d1395046b0afdc2f20ee76d29a8ae310cd30ffa84ed42acba9cb12a"
checksum = "f5e99bff0393163bb25029a6af25d3d8d202ba5b5438a74d1bd8789f5c822970"
dependencies = [
"alloy-rlp",
"ark-ff 0.3.0",
"ark-ff 0.4.2",
"ark-ff 0.5.0",
"ark-ff 0.6.0",
"bytes",
"fastrlp 0.3.1",
"fastrlp 0.4.0",
@@ -5057,7 +5132,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys 0.12.1",
"windows-sys 0.61.2",
"windows-sys 0.52.0",
]
[[package]]
@@ -5115,7 +5190,7 @@ dependencies = [
"security-framework",
"security-framework-sys",
"webpki-root-certs",
"windows-sys 0.61.2",
"windows-sys 0.52.0",
]
[[package]]
@@ -5725,7 +5800,7 @@ dependencies = [
"getrandom 0.4.2",
"once_cell",
"rustix 1.1.4",
"windows-sys 0.61.2",
"windows-sys 0.52.0",
]
[[package]]
@@ -6423,7 +6498,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
"windows-sys 0.61.2",
"windows-sys 0.52.0",
]
[[package]]
+3
View File
@@ -31,6 +31,9 @@ default-members = [
"crates/generic-chat",
]
[workspace.package]
license = "MIT OR Apache-2.0"
[workspace.dependencies]
# Internal Workspace dependency declarations (sorted)
logos-account = { path = "core/account" }
+1
View File
@@ -2,6 +2,7 @@
name = "chat-cli"
version = "0.1.0"
edition = "2024"
license.workspace = true
[[bin]]
name = "chat-cli"
+1
View File
@@ -2,6 +2,7 @@
name = "logos-account"
version = "0.1.0"
edition = "2024"
license.workspace = true
[features]
dev = []
+1
View File
@@ -2,6 +2,7 @@
name = "libchat"
version = "0.1.0"
edition = "2024"
license.workspace = true
[lib]
crate-type = ["rlib"]
+1
View File
@@ -2,6 +2,7 @@
name = "crypto"
version = "0.1.0"
edition = "2024"
license.workspace = true
[dependencies]
# External dependencies (sorted)
+1
View File
@@ -2,6 +2,7 @@
name = "double-ratchets"
version = "0.0.1"
edition = "2024"
license.workspace = true
[lib]
crate-type = ["rlib"]
+1
View File
@@ -2,6 +2,7 @@
name = "integration_tests_core"
version = "0.1.0"
edition = "2024"
license.workspace = true
# [[test]]
# name = "integration_tests_core"
+1
View File
@@ -3,6 +3,7 @@ name = "shared-traits"
description = "Shared traits for the Logos Ecosystem"
version = "0.1.0"
edition = "2024"
license.workspace = true
[dependencies]
crypto = { workspace = true }
+1
View File
@@ -2,6 +2,7 @@
name = "chat-sqlite"
version = "0.1.0"
edition = "2024"
license.workspace = true
description = "SQLite storage implementation for libchat"
[dependencies]
+1
View File
@@ -2,6 +2,7 @@
name = "storage"
version = "0.1.0"
edition = "2024"
license.workspace = true
description = "Shared storage layer for libchat"
[dependencies]
+1
View File
@@ -2,6 +2,7 @@
name = "logos-generic-chat"
version = "0.1.0"
edition = "2024"
license.workspace = true
[lib]
crate-type = ["rlib"]
+1
View File
@@ -2,6 +2,7 @@
name = "logos-chat"
version = "0.1.0"
edition = "2024"
license.workspace = true
[lib]
crate-type = ["rlib"]
+61
View File
@@ -0,0 +1,61 @@
# cargo-deny configuration — run with: cargo deny check
[graph]
all-features = true
[advisories]
version = 2
# libcrux crypto crates, exact-pinned (0.0.x) via openmls_libcrux_crypto 0.3.1.
# The fix only exists on the openmls 0.9 prerelease line, which de-mls does not
# support yet — revisit once openmls 0.9 is stable.
ignore = [
"RUSTSEC-2026-0073", # libcrux-poly1305
"RUSTSEC-2026-0075", # libcrux-ed25519
"RUSTSEC-2026-0124", # libcrux-chacha20poly1305
"RUSTSEC-2026-0207", # libcrux-sha3
"RUSTSEC-2026-0208", # libcrux-sha3
"RUSTSEC-2026-0212", # libcrux-secrets
"RUSTSEC-2026-0209", # libcrux-aesgcm — AES-GCM, unused by our ciphersuite
"RUSTSEC-2026-0211", # libcrux-aesgcm — AES-GCM, unused by our ciphersuite
"RUSTSEC-2026-0210", # libcrux-aesgcm renamed
"RUSTSEC-2024-0436", # paste, unmaintained
"RUSTSEC-2026-0173", # proc-macro-error2, unmaintained
]
[licenses]
version = 2
allow = [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"Zlib",
"Unicode-3.0",
"Unicode-DFS-2016",
"CC0-1.0",
"Unlicense",
"BSL-1.0",
"MPL-2.0",
"CDLA-Permissive-2.0",
]
confidence-threshold = 0.8
# chat-proto ships no license field yet; treat it as the workspace license.
[[licenses.clarify]]
crate = "chat-proto"
expression = "MIT OR Apache-2.0"
license-files = []
[bans]
multiple-versions = "warn"
wildcards = "allow"
[sources]
unknown-registry = "deny"
unknown-git = "deny"
allow-git = [
"https://github.com/logos-messaging/chat_proto",
"https://github.com/vacp2p/de-mls",
]
+1
View File
@@ -2,6 +2,7 @@
name = "components"
version = "0.1.0"
edition = "2024"
license.workspace = true
[dependencies]
# Workspace dependencies (sorted)
@@ -2,6 +2,7 @@
name = "embedded-logos-delivery"
version = "0.1.0"
edition = "2024"
license.workspace = true
[dependencies]
# Workspace dependencies (sorted)
@@ -2,6 +2,7 @@
name = "logos-delivery"
version = "0.1.0"
edition = "2024"
license.workspace = true
links = "logosdelivery"
[dependencies]