Files

112 lines
3.9 KiB
TOML

# Copyright 2025, 2026 Element Creations Ltd.
# Copyright 2025 New Vector Ltd.
#
# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
# Please see LICENSE files in the repository root for full details.
[graph]
targets = [
{ triple = "x86_64-unknown-linux-gnu" },
{ triple = "aarch64-unknown-linux-gnu" },
{ triple = "x86_64-apple-darwin" },
{ triple = "aarch64-apple-darwin" },
]
[advisories]
version = 2
db-path = "~/.cargo/advisory-db"
db-urls = ["https://github.com/rustsec/advisory-db"]
ignore = [
# RSA key extraction "Marvin Attack". This is only relevant when using
# PKCS#1 v1.5 encryption, which we don't
"RUSTSEC-2023-0071",
# Rand 0.8.5 unsoundness with custom logger + thread_rng reseeding.
# Only triggers when the `log` feature is enabled, which we don't use.
"RUSTSEC-2026-0097",
# A bug in wasmtime, but we are not affected, as we only have a single
# Engine/Store, and as the advisory says explicitly:
# > This bug is not triggerable by guest WebAssembly programs.
"RUSTSEC-2026-0222",
]
[licenses]
version = 2
allow = [
"LicenseRef-Element-Commercial",
"0BSD",
"Apache-2.0 WITH LLVM-exception",
"Apache-2.0",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"MIT",
"MPL-2.0",
"Unicode-3.0",
"Zlib",
"CDLA-Permissive-2.0",
]
[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 = "itertools", version = "0.14.0" }, # zxcvbn, prost-derive and wasmtime-internal-cranelift depend on this old version
{ name = "v_htmlescape", version = "0.15.8" }, # minijinja depends on this old version
# a few crates depend on old versions of hashbrown
{ name = "hashbrown", version = "0.14.5" },
{ name = "hashbrown", version = "0.15.5" },
{ name = "hashbrown", version = "0.16.1" },
# a few dependencies depend on the 1.x version of thiserror
{ name = "thiserror", version = "1.0.69" },
{ name = "thiserror-impl", version = "1.0.69" },
# axum-macros, sqlx-macros and sea-query-attr use an old version
{ name = "heck", version = "0.4.1" },
# pad depends on an old version
{ name = "unicode-width", version = "0.1.14" },
# cron depends on these old versions, chrono-tz is on phf 0.12
{ name = "phf", version = "0.11.3" },
{ name = "phf_shared", version = "0.11.3" },
# ruma-macros moved to toml 1.x, these still depend on the old versions
{ name = "serde_html_form", version = "0.2.8" }, # axum-extra
{ name = "toml_datetime", version = "0.6.11" }, # proc-macro-crate -> toml_edit
{ name = "winnow", version = "0.7.13" }, # cron, toml_edit
# hyper-util -> system-configuration depends on this old version
{ name = "core-foundation", version = "0.9.4" },
# wasmtime pulls in older versions of these
{ name = "foldhash", version = "0.1.5" },
{ name = "gimli", version = "0.32.3" },
{ name = "object", version = "0.37.3" },
# async-graphql, zxcvbn's derive_builder and sea-query still use an old
# darling; aide-macros 0.16 moved on to 0.23
{ name = "darling", version = "0.20.11" },
{ name = "darling_core", version = "0.20.11" },
{ name = "darling_macro", version = "0.20.11" },
# We are still mainly using rand 0.8
{ name = "rand", version = "0.8.5" },
{ name = "rand_chacha", version = "0.3.1" },
{ name = "rand_core", version = "0.6.4" },
{ name = "getrandom", version = "0.2.16" },
]
skip-tree = []
# 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"]