Files
letro-authentication-service/Cargo.toml
Quentin Gliech a67c00d4da build(deps): bump p384 from 0.13.0 to 0.13.1 (#3987)
Bumps [p384](https://github.com/RustCrypto/elliptic-curves) from 0.13.0
to 0.13.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d439608563"><code>d439608</code></a>
sm2 v0.13.1 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/864">#864</a>)</li>
<li><a
href="6e6886563b"><code>6e68865</code></a>
p256 v0.13.2 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/863">#863</a>)</li>
<li><a
href="b9fcdd3b8a"><code>b9fcdd3</code></a>
sm2: enable <code>dsa</code> feature by default (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/862">#862</a>)</li>
<li><a
href="c17e54adc7"><code>c17e54a</code></a>
p192/p224/p384/p521/sm2: add <code>all-features = true</code> on docsrs
(<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/861">#861</a>)</li>
<li><a
href="c7019c1a66"><code>c7019c1</code></a>
Update fiat crypto docs (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/860">#860</a>)</li>
<li><a
href="a0931eeb4d"><code>a0931ee</code></a>
p224 v0.13.2 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/859">#859</a>)</li>
<li><a
href="0f9dfa440f"><code>0f9dfa4</code></a>
sm2 v0.13.0 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/858">#858</a>)</li>
<li><a
href="0e0a1a5977"><code>0e0a1a5</code></a>
p192 v0.13.0 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/856">#856</a>)</li>
<li><a
href="fbc5d26ee7"><code>fbc5d26</code></a>
p192/p224/p256/p384/p521/sm2: use <code>dep:primeorder</code> (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/857">#857</a>)</li>
<li><a
href="655a7d6da5"><code>655a7d6</code></a>
sm2: add <code>dsa</code> feature (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/855">#855</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/RustCrypto/elliptic-curves/compare/p384/v0.13.0...sm2/v0.13.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=p384&package-manager=cargo&previous-version=0.13.0&new-version=0.13.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-02-10 17:26:36 +01:00

439 lines
11 KiB
TOML

[workspace]
default-members = ["crates/cli"]
members = ["crates/*"]
resolver = "2"
# Updated in the CI with a `sed` command
package.version = "0.13.0"
package.license = "AGPL-3.0-only"
package.authors = ["Element Backend Team"]
package.edition = "2021"
package.homepage = "https://element-hq.github.io/matrix-authentication-service/"
package.repository = "https://github.com/element-hq/matrix-authentication-service/"
[workspace.lints.rust]
unsafe_code = "forbid"
[workspace.lints.clippy]
# We use groups as good defaults, but with a lower priority so that we can override them
all = { level = "deny", priority = -1 }
pedantic = { level = "warn", priority = -1 }
str_to_string = "deny"
[workspace.lints.rustdoc]
broken_intra_doc_links = "deny"
[workspace.dependencies]
# Workspace crates
mas-axum-utils = { path = "./crates/axum-utils/", version = "=0.13.0" }
mas-cli = { path = "./crates/cli/", version = "=0.13.0" }
mas-config = { path = "./crates/config/", version = "=0.13.0" }
mas-data-model = { path = "./crates/data-model/", version = "=0.13.0" }
mas-email = { path = "./crates/email/", version = "=0.13.0" }
mas-graphql = { path = "./crates/graphql/", version = "=0.13.0" }
mas-handlers = { path = "./crates/handlers/", version = "=0.13.0" }
mas-http = { path = "./crates/http/", version = "=0.13.0" }
mas-i18n = { path = "./crates/i18n/", version = "=0.13.0" }
mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=0.13.0" }
mas-iana = { path = "./crates/iana/", version = "=0.13.0" }
mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=0.13.0" }
mas-jose = { path = "./crates/jose/", version = "=0.13.0" }
mas-keystore = { path = "./crates/keystore/", version = "=0.13.0" }
mas-listener = { path = "./crates/listener/", version = "=0.13.0" }
mas-matrix = { path = "./crates/matrix/", version = "=0.13.0" }
mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=0.13.0" }
mas-oidc-client = { path = "./crates/oidc-client/", version = "=0.13.0" }
mas-policy = { path = "./crates/policy/", version = "=0.13.0" }
mas-router = { path = "./crates/router/", version = "=0.13.0" }
mas-spa = { path = "./crates/spa/", version = "=0.13.0" }
mas-storage = { path = "./crates/storage/", version = "=0.13.0" }
mas-storage-pg = { path = "./crates/storage-pg/", version = "=0.13.0" }
mas-tasks = { path = "./crates/tasks/", version = "=0.13.0" }
mas-templates = { path = "./crates/templates/", version = "=0.13.0" }
mas-tower = { path = "./crates/tower/", version = "=0.13.0" }
oauth2-types = { path = "./crates/oauth2-types/", version = "=0.13.0" }
syn2mas = { path = "./crates/syn2mas", version = "=0.13.0" }
# OpenAPI schema generation and validation
[workspace.dependencies.aide]
version = "0.14.1"
features = ["axum", "axum-extra", "axum-json", "axum-query", "macros"]
# GraphQL server
[workspace.dependencies.async-graphql]
version = "7.0.15"
default-features = false
features = ["chrono", "url", "tracing", "playground"]
[workspace.dependencies.async-stream]
version = "0.3.6"
# Utility to write and implement async traits
[workspace.dependencies.async-trait]
version = "0.1.86"
# High-level error handling
[workspace.dependencies.anyhow]
version = "1.0.95"
# HTTP router
[workspace.dependencies.axum]
version = "0.8.1"
# Extra utilities for Axum
[workspace.dependencies.axum-extra]
version = "0.10.0"
features = ["cookie-private", "cookie-key-expansion", "typed-header"]
# Constant-time base64
[workspace.dependencies.base64ct]
version = "1.6.0"
# Packed bitfields
[workspace.dependencies.bitflags]
version = "2.6.0"
# Bytes
[workspace.dependencies.bytes]
version = "1.10.0"
# UTF-8 paths
[workspace.dependencies.camino]
version = "1.1.9"
# Memory optimisation for short strings
[workspace.dependencies.compact_str]
version = "0.8.1"
# Time utilities
[workspace.dependencies.chrono]
version = "0.4.39"
default-features = false
features = ["serde", "clock"]
# CLI argument parsing
[workspace.dependencies.clap]
version = "4.5.28"
features = ["derive"]
# Cron expressions
[workspace.dependencies.cron]
version = "0.15.0"
# Elliptic curve cryptography
[workspace.dependencies.elliptic-curve]
version = "0.13.8"
features = ["std", "pem", "sec1"]
# Configuration loading
[workspace.dependencies.figment]
version = "0.10.19"
features = ["env", "yaml", "test"]
# Utilities for dealing with futures
[workspace.dependencies.futures-util]
version = "0.3.31"
# Rate-limiting
[workspace.dependencies.governor]
version = "0.8.0"
# HTTP headers
[workspace.dependencies.headers]
version = "0.4.0"
# HTTP request/response
[workspace.dependencies.http]
version = "1.2.0"
# HTTP body trait
[workspace.dependencies.http-body]
version = "1.0.1"
# http-body utilities
[workspace.dependencies.http-body-util]
version = "0.1.2"
# HTTP client and server
[workspace.dependencies.hyper]
version = "1.6.0"
features = ["client", "http1", "http2"]
# Additional Hyper utilties
[workspace.dependencies.hyper-util]
version = "0.1.10"
features = [
"client",
"server",
"server-auto",
"service",
"http1",
"http2",
"tokio",
]
# Hyper Rustls support
[workspace.dependencies.hyper-rustls]
version = "0.27.5"
features = ["http1", "http2"]
default-features = false
# Snapshot testing
[workspace.dependencies.insta]
version = "1.42.1"
features = ["yaml", "json"]
# Email sending
[workspace.dependencies.lettre]
version = "0.11.12"
default-features = false
features = [
"tokio1-rustls-tls",
"hostname",
"builder",
"tracing",
"pool",
"smtp-transport",
"sendmail-transport",
]
# Templates
[workspace.dependencies.minijinja]
version = "2.7.0"
features = ["loader", "json", "speedups", "unstable_machinery"]
# Additional filters for minijinja
[workspace.dependencies.minijinja-contrib]
version = "2.7.0"
features = ["pycompat"]
# Utilities to deal with non-zero values
[workspace.dependencies.nonzero_ext]
version = "0.3.0"
# K256 elliptic curve
[workspace.dependencies.k256]
version = "0.13.4"
features = ["std"]
# P256 elliptic curve
[workspace.dependencies.p256]
version = "0.13.2"
features = ["std"]
# P384 elliptic curve
[workspace.dependencies.p384]
version = "0.13.1"
features = ["std"]
# PEM file decoding
[workspace.dependencies.pem-rfc7468]
version = "0.7.0"
features = ["std"]
# PKCS#1 encoding
[workspace.dependencies.pkcs1]
version = "0.7.5"
features = ["std"]
# PKCS#8 encoding
[workspace.dependencies.pkcs8]
version = "0.10.2"
features = ["std", "pkcs5", "encryption"]
# Random values
[workspace.dependencies.rand]
version = "0.8.5"
# High-level HTTP client
[workspace.dependencies.reqwest]
version = "0.12.12"
default-features = false
features = ["http2", "rustls-tls-manual-roots", "charset", "json", "socks"]
# Matrix-related types
[workspace.dependencies.ruma-common]
version = "0.15.1"
# TLS stack
[workspace.dependencies.rustls]
version = "0.23.22"
# Use platform-specific verifier for TLS
[workspace.dependencies.rustls-platform-verifier]
version = "0.5.0"
# JSON Schema generation
[workspace.dependencies.schemars]
version = "0.8.21"
features = ["url", "chrono", "preserve_order"]
# Query builder
[workspace.dependencies.sea-query]
version = "0.32.1"
features = ["derive", "attr", "with-uuid", "with-chrono", "postgres-array"]
# Query builder
[workspace.dependencies.sea-query-binder]
version = "0.7.0"
features = [
"sqlx",
"sqlx-postgres",
"with-uuid",
"with-chrono",
"postgres-array",
]
# Sentry error tracking
[workspace.dependencies.sentry]
version = "0.36.0"
default-features = false
features = ["backtrace", "contexts", "panic", "tower", "reqwest"]
# Sentry tower layer
[workspace.dependencies.sentry-tower]
version = "0.36.0"
features = ["http"]
# Sentry tracing integration
[workspace.dependencies.sentry-tracing]
version = "0.36.0"
# Serialization and deserialization
[workspace.dependencies.serde]
version = "1.0.217"
features = ["derive"] # Most of the time, if we need serde, we need derive
# JSON serialization and deserialization
[workspace.dependencies.serde_json]
version = "1.0.138"
features = ["preserve_order"]
# SQL database support
[workspace.dependencies.sqlx]
version = "0.8.3"
features = [
"runtime-tokio",
"tls-rustls-aws-lc-rs",
"postgres",
"migrate",
"chrono",
"json",
"uuid",
"ipnetwork",
]
# Custom error types
[workspace.dependencies.thiserror]
version = "2.0.11"
[workspace.dependencies.thiserror-ext]
version = "0.2.1"
# Async runtime
[workspace.dependencies.tokio]
version = "1.43.0"
features = ["full"]
[workspace.dependencies.tokio-stream]
version = "0.1.17"
# Useful async utilities
[workspace.dependencies.tokio-util]
version = "0.7.13"
features = ["rt"]
# Tower services
[workspace.dependencies.tower]
version = "0.5.2"
features = ["util"]
# Tower HTTP layers
[workspace.dependencies.tower-http]
version = "0.6.2"
features = ["cors", "fs", "add-extension", "set-header"]
# Logging and tracing
[workspace.dependencies.tracing]
version = "0.1.41"
[workspace.dependencies.tracing-subscriber]
version = "0.3.19"
# OpenTelemetry
[workspace.dependencies.opentelemetry]
version = "0.27.1"
features = ["trace", "metrics"]
[workspace.dependencies.opentelemetry-http]
version = "0.27.0"
features = ["reqwest"]
[workspace.dependencies.opentelemetry-jaeger-propagator]
version = "0.27.0"
[workspace.dependencies.opentelemetry-otlp]
version = "0.27.0"
default-features = false
features = ["trace", "metrics", "http-proto"]
[workspace.dependencies.opentelemetry-prometheus]
version = "0.27.0"
[workspace.dependencies.opentelemetry-resource-detectors]
version = "0.6.0"
[workspace.dependencies.opentelemetry-semantic-conventions]
version = "0.27.0"
features = ["semconv_experimental"]
[workspace.dependencies.opentelemetry-stdout]
version = "0.27.0"
features = ["trace", "metrics"]
[workspace.dependencies.opentelemetry_sdk]
version = "0.27.1"
features = ["rt-tokio"]
[workspace.dependencies.tracing-opentelemetry]
version = "0.28.0"
default-features = false
[workspace.dependencies.prometheus]
version = "0.13.4"
# URL manipulation
[workspace.dependencies.url]
version = "2.5.4"
features = ["serde"]
# ULID support
[workspace.dependencies.ulid]
version = "1.1.4"
features = ["serde"]
# HTTP mock server
[workspace.dependencies.wiremock]
version = "0.6.2"
[profile.release]
codegen-units = 1 # Reduce the number of codegen units to increase optimizations
lto = true # Enable fat LTO
# A few profile opt-level tweaks to make the test suite run faster
[profile.dev.package]
argon2.opt-level = 3
bcrypt.opt-level = 3
block-buffer.opt-level = 3
cranelift-codegen.opt-level = 3
digest.opt-level = 3
hmac.opt-level = 3
generic-array.opt-level = 3
num-bigint-dig.opt-level = 3
pbkdf2.opt-level = 3
rayon.opt-level = 3
regalloc2.opt-level = 3
sha2.opt-level = 3
sqlx-macros.opt-level = 3