mirror of
https://github.com/element-hq/matrix-authentication-service.git
synced 2026-10-23 08:43:33 +00:00
ulid 3 moves to `rand` 0.10, so it no longer pulls the `rand` 0.9 generation. Only `opentelemetry_sdk` and `sentry` still need it. ULID generation keeps going through `UlidExt`, whose bit layout matches ulid's own `from_datetime_with_source`. The only API change affecting MAS is the rename of `Ulid::new` to `Ulid::generate`, which the clippy ban list now targets.
147 lines
5.9 KiB
TOML
147 lines
5.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",
|
|
# 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",
|
|
# A bug in wasmtime, but we are not affected as we're not using the WASI
|
|
# capabilities and filesystem APIs
|
|
"RUSTSEC-2026-0269",
|
|
]
|
|
|
|
# Only warn about unmaintained crates in direct dependencies of the workspace,
|
|
# not transitive dependencies
|
|
unmaintained = "workspace"
|
|
|
|
[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 moved to rand 0.10, but cookie and sqlx still pull the 0.8 generation
|
|
{ name = "rand", version = "0.8.6" },
|
|
{ name = "rand_chacha", version = "0.3.1" },
|
|
{ name = "rand_core", version = "0.6.4" },
|
|
{ name = "getrandom", version = "0.2.16" },
|
|
# ...and opentelemetry_sdk and sentry pull the 0.9 generation
|
|
{ name = "rand", version = "0.9.4" },
|
|
{ name = "rand_chacha", version = "0.9.0" },
|
|
{ name = "rand_core", version = "0.9.3" },
|
|
{ name = "getrandom", version = "0.3.3" },
|
|
|
|
# We moved to the new (digest 0.11-based) generation of the RustCrypto
|
|
# crates, but cookie (via axum-extra's private cookies), sqlx, headers,
|
|
# wasmtime and pest still pull the previous generation
|
|
{ name = "aead", version = "0.5.2" }, # aes-gcm 0.10 <- cookie
|
|
{ name = "aes", version = "0.8.4" }, # aes-gcm 0.10 <- cookie
|
|
{ name = "aes-gcm", version = "0.10.3" }, # cookie
|
|
{ name = "block-buffer", version = "0.10.4" }, # digest 0.10
|
|
{ name = "cipher", version = "0.4.4" }, # aes, aes-gcm, ctr
|
|
{ name = "cpufeatures", version = "0.2.17" }, # aes, polyval, sha1, sha2 0.10
|
|
{ name = "crypto-common", version = "0.1.6" }, # aead, cipher, digest 0.10
|
|
{ name = "ctr", version = "0.9.2" }, # aes-gcm 0.10 <- cookie
|
|
{ name = "digest", version = "0.10.7" }, # hmac, md-5, sha1, sha2 0.10
|
|
{ name = "ghash", version = "0.5.1" }, # aes-gcm 0.10 <- cookie
|
|
{ name = "hmac", version = "0.12.1" }, # hkdf 0.12 <- cookie, sqlx
|
|
{ name = "inout", version = "0.1.4" }, # cipher 0.4
|
|
{ name = "md-5", version = "0.10.6" }, # sqlx
|
|
{ name = "polyval", version = "0.6.2" }, # ghash 0.5
|
|
{ name = "sha1", version = "0.10.6" }, # headers
|
|
{ name = "sha2", version = "0.10.9" }, # cookie, sqlx, wasmtime, pest
|
|
{ name = "universal-hash", version = "0.5.1" }, # ghash, polyval
|
|
|
|
# bcrypt and opa-wasm moved to base64 0.23, the rest of the tree is on 0.22
|
|
{ name = "base64", version = "0.22.1" },
|
|
# zerovec-derive (via icu) moved to syn 3, everything else is on syn 2
|
|
{ name = "syn", version = "2.0.106" },
|
|
]
|
|
|
|
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"]
|