2024-05-09 15:59:08 -07:00
|
|
|
#cargo-features = ["profile-rustflags"]
|
|
|
|
|
|
|
|
|
|
[workspace]
|
|
|
|
|
resolver = "2"
|
|
|
|
|
members = ["src/*"]
|
|
|
|
|
default-members = ["src/*"]
|
|
|
|
|
|
|
|
|
|
[workspace.package]
|
2024-03-22 21:50:51 -04:00
|
|
|
authors = [
|
2025-04-20 19:52:45 +02:00
|
|
|
"Timo Kösters <timo@koesters.xyz>",
|
|
|
|
|
"June Clementine Strawberry <june@girlboss.ceo>",
|
|
|
|
|
"Jason Volk <jason@zemos.net>",
|
|
|
|
|
"Conduit Contributors",
|
|
|
|
|
"Conduwuit Contributors",
|
|
|
|
|
"Tuwunel Contributors",
|
2024-03-22 21:50:51 -04:00
|
|
|
]
|
2024-06-01 10:19:26 +00:00
|
|
|
categories = ["network-programming"]
|
2025-04-20 19:52:45 +02:00
|
|
|
description = "High Performance Matrix Homeserver in Rust!"
|
2025-02-23 01:17:30 -05:00
|
|
|
edition = "2024"
|
2025-04-20 19:52:45 +02:00
|
|
|
homepage = "https://tuwunel.chat"
|
|
|
|
|
keywords = [
|
|
|
|
|
"chat",
|
|
|
|
|
"matrix",
|
|
|
|
|
"networking",
|
|
|
|
|
"server",
|
|
|
|
|
"uwu",
|
|
|
|
|
]
|
2024-06-01 10:19:26 +00:00
|
|
|
license = "Apache-2.0"
|
2024-05-09 15:59:08 -07:00
|
|
|
readme = "README.md"
|
2025-04-20 19:52:45 +02:00
|
|
|
repository = "https://github.com/matrix-construct/tuwunel"
|
2025-07-04 03:30:00 +00:00
|
|
|
rust-version = "1.88.0"
|
2025-09-11 23:50:41 +00:00
|
|
|
version = "1.4.2"
|
2022-12-23 00:20:05 -08:00
|
|
|
|
2024-05-18 22:32:02 -04:00
|
|
|
[workspace.metadata.crane]
|
2025-04-20 19:52:45 +02:00
|
|
|
name = "tuwunel"
|
2024-05-18 22:32:02 -04:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
#
|
|
|
|
|
# Dependencies
|
|
|
|
|
#
|
2024-11-28 05:54:34 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.argon2]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.5"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
2024-11-28 05:54:34 +00:00
|
|
|
features = [
|
2025-04-20 19:52:45 +02:00
|
|
|
"alloc",
|
|
|
|
|
"rand",
|
2024-11-28 05:54:34 +00:00
|
|
|
]
|
2024-08-02 22:09:30 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.arrayvec]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.7"
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["serde"]
|
2024-04-11 20:17:30 -04:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.async-channel]
|
|
|
|
|
version = "2.3.1"
|
2024-04-19 17:41:54 -07:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.async-trait]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.1"
|
2024-04-19 17:41:54 -07:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.axum]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.8"
|
2024-04-19 17:41:54 -07:00
|
|
|
default-features = false
|
2024-05-09 15:59:08 -07:00
|
|
|
features = [
|
|
|
|
|
"form",
|
|
|
|
|
"http1",
|
|
|
|
|
"http2",
|
|
|
|
|
"json",
|
|
|
|
|
"matched-path",
|
|
|
|
|
"tokio",
|
2024-05-28 02:28:45 -04:00
|
|
|
"tracing",
|
2024-05-09 15:59:08 -07:00
|
|
|
]
|
2024-04-19 17:41:54 -07:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.axum-client-ip]
|
2025-04-28 22:39:32 +01:00
|
|
|
version = "0.7"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.axum-extra]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.10"
|
2024-03-09 15:49:51 -05:00
|
|
|
default-features = false
|
2025-04-20 19:52:45 +02:00
|
|
|
features = [
|
|
|
|
|
"typed-header",
|
|
|
|
|
"tracing",
|
|
|
|
|
]
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.axum-server]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.7"
|
2024-07-28 15:15:39 -04:00
|
|
|
default-features = false
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2024-08-15 02:35:19 +00:00
|
|
|
[workspace.dependencies.axum-server-dual-protocol]
|
|
|
|
|
version = "0.7"
|
2025-04-28 22:39:32 +01:00
|
|
|
default-features = false
|
2024-08-15 02:35:19 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.base64]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.22"
|
2024-03-09 15:49:51 -05:00
|
|
|
default-features = false
|
|
|
|
|
|
2025-02-01 18:35:23 -05:00
|
|
|
[workspace.dependencies.blurhash]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.2"
|
2025-02-01 18:35:23 -05:00
|
|
|
default-features = false
|
|
|
|
|
features = [
|
2025-02-04 02:24:50 +00:00
|
|
|
"fast-linear-to-srgb",
|
|
|
|
|
"image",
|
2025-02-01 18:35:23 -05:00
|
|
|
]
|
2025-02-04 02:24:50 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.bytes]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.10"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.bytesize]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "2.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.cargo_toml]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.22"
|
2024-11-15 09:44:29 -05:00
|
|
|
default-features = false
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["features"]
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.checked_ops]
|
|
|
|
|
version = "0.1"
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.chrono]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.4"
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["alloc", "std"]
|
2024-05-09 15:59:08 -07:00
|
|
|
default-features = false
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.clap]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "4.5"
|
2024-03-29 19:08:16 -04:00
|
|
|
default-features = false
|
2024-04-05 17:54:38 -04:00
|
|
|
features = [
|
2024-05-09 15:59:08 -07:00
|
|
|
"derive",
|
2024-11-23 03:45:11 +00:00
|
|
|
"env",
|
2024-05-09 15:59:08 -07:00
|
|
|
"error-context",
|
2024-11-23 03:45:11 +00:00
|
|
|
"help",
|
|
|
|
|
"std",
|
2024-05-09 15:59:08 -07:00
|
|
|
"string",
|
2024-11-23 03:45:11 +00:00
|
|
|
"usage",
|
2024-04-05 17:54:38 -04:00
|
|
|
]
|
2024-03-29 18:21:17 -04:00
|
|
|
|
2025-06-07 23:07:30 +00:00
|
|
|
# Disabled until Axum updated. Remember to remove cfgs for tuwunel_disable.
|
|
|
|
|
#[workspace.dependencies.console-subscriber]
|
|
|
|
|
#version = "0.4"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.core_affinity]
|
2025-06-08 02:24:48 +00:00
|
|
|
version = "0.8.3"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.const-str]
|
2025-09-13 13:00:39 +00:00
|
|
|
version = "0.7"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.ctor]
|
2025-09-13 13:00:39 +00:00
|
|
|
version = "0.5"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.cyborgtime]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "2.1"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.either]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.15"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = ["serde"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.figment]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.10"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = ["env", "toml"]
|
|
|
|
|
|
2024-08-08 17:18:30 +00:00
|
|
|
[workspace.dependencies.futures]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.3"
|
2024-03-10 00:15:14 -05:00
|
|
|
default-features = false
|
2024-10-30 07:01:50 +00:00
|
|
|
features = ["std", "async-await"]
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.hickory-resolver]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.25"
|
2024-07-28 15:15:39 -04:00
|
|
|
default-features = false
|
2025-04-20 19:52:45 +02:00
|
|
|
features = [
|
|
|
|
|
"serde",
|
|
|
|
|
"system-config",
|
|
|
|
|
"tokio",
|
|
|
|
|
]
|
2024-05-09 15:59:08 -07:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.hmac]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.12"
|
2024-03-09 15:49:51 -05:00
|
|
|
default-features = false
|
|
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.http]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.3"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.http-body-util]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.1"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.hyper]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.6"
|
2024-07-28 15:15:39 -04:00
|
|
|
default-features = false
|
2024-05-09 15:59:08 -07:00
|
|
|
features = [
|
|
|
|
|
"server",
|
|
|
|
|
"http1",
|
|
|
|
|
"http2",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.hyper-util]
|
2025-06-07 21:11:44 +00:00
|
|
|
version = "0.1.14"
|
2024-07-28 15:15:39 -04:00
|
|
|
default-features = false
|
2024-05-29 17:21:59 +00:00
|
|
|
features = [
|
|
|
|
|
"server-auto",
|
|
|
|
|
"server-graceful",
|
|
|
|
|
"tokio",
|
|
|
|
|
]
|
2024-05-09 15:59:08 -07:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.image]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.25"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = [
|
|
|
|
|
"jpeg",
|
|
|
|
|
"png",
|
|
|
|
|
"gif",
|
|
|
|
|
"webp",
|
|
|
|
|
]
|
|
|
|
|
|
2025-06-29 03:33:29 +00:00
|
|
|
[workspace.dependencies.insta]
|
2025-09-04 23:14:27 +00:00
|
|
|
version = "1.43"
|
2025-06-29 03:33:29 +00:00
|
|
|
features = [
|
|
|
|
|
"json",
|
|
|
|
|
]
|
|
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.ipaddress]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.1"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.itertools]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.14"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
2025-06-18 09:29:06 +00:00
|
|
|
[workspace.dependencies.jsonwebtoken]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "9.3"
|
2025-06-18 09:29:06 +00:00
|
|
|
default-features = false
|
|
|
|
|
features = ["use_pem"]
|
|
|
|
|
|
2025-04-28 06:54:29 +00:00
|
|
|
[workspace.dependencies.ldap3]
|
2025-05-02 02:31:06 +00:00
|
|
|
git = "https://github.com/matrix-construct/ldap3"
|
|
|
|
|
rev = "7d423314b9dbc66347284e38fc2b78c3d8f3d494"
|
2025-04-28 06:54:29 +00:00
|
|
|
default-features = false
|
|
|
|
|
features = ["sync", "tls-rustls"]
|
|
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.libc]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.2"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.libloading]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.8"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.log]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.4"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.loole]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.4"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.lru-cache]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.1"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.maplit]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.minicbor]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "2.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["std"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.minicbor-serde]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.6"
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["std"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.nix]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.30"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = ["resource"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.num-traits]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.2"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.opentelemetry]
|
2025-06-08 03:28:03 +00:00
|
|
|
version = "0.30.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
2025-06-08 03:28:03 +00:00
|
|
|
# Disabled until they move to opentelemetry 0.30
|
|
|
|
|
#[workspace.dependencies.opentelemetry-jaeger]
|
|
|
|
|
#version = "0.22.0"
|
|
|
|
|
#features = ["rt-tokio"]
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.opentelemetry_sdk]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.30"
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["rt-tokio"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.proc-macro2]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.quote]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.0"
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.rand]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.8"
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.regex]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.11"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.reqwest]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.12"
|
2024-03-09 15:49:51 -05:00
|
|
|
default-features = false
|
2025-04-03 04:05:42 +00:00
|
|
|
features = [
|
2025-04-20 19:52:45 +02:00
|
|
|
"rustls-tls-native-roots",
|
|
|
|
|
"socks",
|
|
|
|
|
"hickory-dns",
|
|
|
|
|
"http2",
|
2025-04-03 04:05:42 +00:00
|
|
|
]
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.ring]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.17"
|
2024-11-15 09:44:29 -05:00
|
|
|
default-features = false
|
2024-05-09 15:59:08 -07:00
|
|
|
|
|
|
|
|
[workspace.dependencies.ruma]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/ruma"
|
2025-09-25 03:57:50 +00:00
|
|
|
rev = "b245c8cb8ab07ebbf7bc250b40385334c3fbf146"
|
2024-03-09 15:49:51 -05:00
|
|
|
features = [
|
2025-06-29 03:33:29 +00:00
|
|
|
"__compat",
|
2024-03-22 21:50:51 -04:00
|
|
|
"appservice-api-c",
|
|
|
|
|
"client-api",
|
2025-08-26 02:41:51 +00:00
|
|
|
"client-api-s",
|
|
|
|
|
"compat-upload-signatures",
|
2024-03-22 21:50:51 -04:00
|
|
|
"federation-api",
|
2025-08-26 02:41:51 +00:00
|
|
|
"identifiers-validation",
|
2024-06-12 18:52:24 +00:00
|
|
|
"markdown",
|
2024-03-22 21:50:51 -04:00
|
|
|
"push-gateway-api-c",
|
2025-08-26 02:41:51 +00:00
|
|
|
"rand",
|
2024-03-22 21:50:51 -04:00
|
|
|
"ring-compat",
|
2024-04-07 15:45:48 -04:00
|
|
|
"unstable-msc2448",
|
|
|
|
|
"unstable-msc2666",
|
2024-04-05 17:54:38 -04:00
|
|
|
"unstable-msc2867",
|
2024-03-22 21:50:51 -04:00
|
|
|
"unstable-msc2870",
|
2024-04-05 17:54:38 -04:00
|
|
|
"unstable-msc3026",
|
2024-03-22 21:50:51 -04:00
|
|
|
"unstable-msc3061",
|
2024-10-24 20:47:51 -04:00
|
|
|
"unstable-msc3245",
|
2024-08-24 14:52:48 +02:00
|
|
|
"unstable-msc3381", # polls
|
|
|
|
|
"unstable-msc3489", # beacon / live location
|
2025-03-09 00:44:56 -05:00
|
|
|
"unstable-msc3930", # polls push rules
|
2024-10-24 20:47:51 -04:00
|
|
|
"unstable-msc4075",
|
2025-03-09 00:44:56 -05:00
|
|
|
"unstable-msc4095",
|
2024-04-06 18:42:00 -04:00
|
|
|
"unstable-msc4121",
|
2024-04-11 18:29:27 -04:00
|
|
|
"unstable-msc4125",
|
2025-08-26 02:41:51 +00:00
|
|
|
"unstable-msc4133",
|
2024-09-14 11:16:19 -04:00
|
|
|
"unstable-msc4186",
|
2024-12-19 20:19:05 +00:00
|
|
|
"unstable-msc4203", # sending to-device events to appservices
|
2025-09-25 03:57:50 +00:00
|
|
|
"unstable-msc4310",
|
2025-06-29 03:33:29 +00:00
|
|
|
"unstable-msc4311",
|
2024-03-22 21:50:51 -04:00
|
|
|
"unstable-extensible-events",
|
2025-06-29 03:33:29 +00:00
|
|
|
"unstable-hydra",
|
2024-03-09 15:49:51 -05:00
|
|
|
]
|
|
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.rustls]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.23"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = ["aws_lc_rs"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.rustyline-async]
|
2025-06-08 01:40:30 +00:00
|
|
|
version = "0.4.6"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.rust-rocksdb]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/rust-rocksdb"
|
2025-06-08 05:04:36 +00:00
|
|
|
rev = "225a42519276e502205bdc845cebdb22d70ee245"
|
2025-03-06 18:12:54 -05:00
|
|
|
default-features = false
|
2024-05-09 15:59:08 -07:00
|
|
|
features = [
|
2025-06-24 21:23:55 +00:00
|
|
|
"bzip2",
|
|
|
|
|
"lz4",
|
2024-05-09 15:59:08 -07:00
|
|
|
"multi-threaded-cf",
|
|
|
|
|
"mt_static",
|
|
|
|
|
"zstd",
|
|
|
|
|
]
|
|
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.sanitize-filename]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.6"
|
2024-11-15 09:44:29 -05:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.sd-notify]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.4"
|
2024-11-15 09:44:29 -05:00
|
|
|
default-features = false
|
2024-05-09 15:59:08 -07:00
|
|
|
|
|
|
|
|
[workspace.dependencies.sentry]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.42"
|
2024-04-19 17:41:54 -07:00
|
|
|
default-features = false
|
2024-05-09 15:59:08 -07:00
|
|
|
features = [
|
|
|
|
|
"backtrace",
|
|
|
|
|
"contexts",
|
|
|
|
|
"debug-images",
|
|
|
|
|
"panic",
|
|
|
|
|
"rustls",
|
|
|
|
|
"tower",
|
|
|
|
|
"tower-http",
|
|
|
|
|
"tracing",
|
|
|
|
|
"reqwest",
|
|
|
|
|
"log",
|
|
|
|
|
]
|
2024-04-17 20:05:56 -04:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.sentry-tower]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.42"
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.sentry-tracing]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.42"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.serde]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = ["rc"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.serde_html_form]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.2"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.serde_json]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = ["raw_value"]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.serde_regex]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.1"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.serde_yaml]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.9"
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.sha1]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.10"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.sha2]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.10"
|
2024-05-09 15:59:08 -07:00
|
|
|
default-features = false
|
2025-04-20 19:52:45 +02:00
|
|
|
|
2025-06-29 03:33:29 +00:00
|
|
|
[workspace.dependencies.similar]
|
2025-09-04 23:14:27 +00:00
|
|
|
version = "2.7"
|
2025-06-29 03:33:29 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.smallstr]
|
|
|
|
|
version = "0.3"
|
2025-01-18 01:30:41 +00:00
|
|
|
features = [
|
2025-04-20 19:52:45 +02:00
|
|
|
"ffi",
|
2025-09-04 22:33:42 +00:00
|
|
|
"serde",
|
2025-04-20 19:52:45 +02:00
|
|
|
"std",
|
|
|
|
|
"union",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.smallvec]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.15"
|
2025-04-20 19:52:45 +02:00
|
|
|
features = [
|
|
|
|
|
"const_generics",
|
|
|
|
|
"const_new",
|
|
|
|
|
"serde",
|
|
|
|
|
"union",
|
|
|
|
|
"write",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.syn]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "2.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = [
|
|
|
|
|
"extra-traits",
|
|
|
|
|
"full",
|
2025-04-22 01:41:02 +00:00
|
|
|
"parsing",
|
|
|
|
|
"proc-macro",
|
|
|
|
|
"printing",
|
2025-01-18 01:30:41 +00:00
|
|
|
]
|
2025-04-20 19:52:45 +02:00
|
|
|
|
|
|
|
|
[workspace.dependencies.termimad]
|
2025-09-13 13:00:39 +00:00
|
|
|
version = "0.34"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
|
|
|
|
|
[workspace.dependencies.thiserror]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "2.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.tikv-jemallocator]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/jemallocator"
|
2025-06-08 05:04:36 +00:00
|
|
|
rev = "03bed96afbbc898bef4d4f7d335c0519e3d1afad"
|
2024-05-09 15:59:08 -07:00
|
|
|
default-features = false
|
2025-01-18 01:30:41 +00:00
|
|
|
features = [
|
|
|
|
|
"background_threads_runtime_support",
|
|
|
|
|
"unprefixed_malloc_on_supported_platforms",
|
|
|
|
|
]
|
2025-04-20 19:52:45 +02:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[workspace.dependencies.tikv-jemalloc-ctl]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/jemallocator"
|
2025-06-08 05:04:36 +00:00
|
|
|
rev = "03bed96afbbc898bef4d4f7d335c0519e3d1afad"
|
2024-05-09 15:59:08 -07:00
|
|
|
default-features = false
|
2024-08-18 17:36:33 -04:00
|
|
|
features = ["use_std"]
|
2024-05-09 15:59:08 -07:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tikv-jemalloc-sys]
|
|
|
|
|
git = "https://github.com/matrix-construct/jemallocator"
|
2025-06-08 05:04:36 +00:00
|
|
|
rev = "03bed96afbbc898bef4d4f7d335c0519e3d1afad"
|
2024-11-15 09:44:29 -05:00
|
|
|
default-features = false
|
2025-04-20 19:52:45 +02:00
|
|
|
features = [
|
|
|
|
|
"background_threads_runtime_support",
|
|
|
|
|
"unprefixed_malloc_on_supported_platforms",
|
|
|
|
|
]
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tokio]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "1.47"
|
2024-05-09 15:59:08 -07:00
|
|
|
default-features = false
|
|
|
|
|
features = [
|
2025-04-20 19:52:45 +02:00
|
|
|
"fs",
|
|
|
|
|
"net",
|
|
|
|
|
"macros",
|
|
|
|
|
"sync",
|
|
|
|
|
"signal",
|
|
|
|
|
"time",
|
|
|
|
|
"rt-multi-thread",
|
|
|
|
|
"io-util",
|
|
|
|
|
"tracing",
|
2024-05-09 15:59:08 -07:00
|
|
|
]
|
2024-04-10 01:53:31 -04:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tokio-metrics]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.4"
|
2024-06-10 06:02:17 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.toml]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.9"
|
2024-06-17 06:07:26 +00:00
|
|
|
default-features = false
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["parse"]
|
2024-06-17 06:07:26 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tower]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.5"
|
2024-07-28 15:15:39 -04:00
|
|
|
default-features = false
|
2025-04-20 19:52:45 +02:00
|
|
|
features = ["util"]
|
2024-07-24 00:14:03 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tower-http]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "0.6"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = [
|
|
|
|
|
"add-extension",
|
|
|
|
|
"catch-panic",
|
|
|
|
|
"cors",
|
|
|
|
|
"sensitive-headers",
|
|
|
|
|
"set-header",
|
|
|
|
|
"timeout",
|
|
|
|
|
"trace",
|
|
|
|
|
"util",
|
|
|
|
|
]
|
2024-07-24 00:14:03 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tracing]
|
2025-09-04 23:14:27 +00:00
|
|
|
version = "0.1"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
2024-11-12 22:01:32 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tracing-core]
|
2025-09-04 23:14:27 +00:00
|
|
|
version = "0.1"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
2024-12-17 14:32:54 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tracing-flame]
|
2025-09-04 23:14:27 +00:00
|
|
|
version = "0.2"
|
2024-12-21 22:12:42 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tracing-opentelemetry]
|
2025-09-04 23:14:27 +00:00
|
|
|
version = "0.31"
|
2025-01-01 20:20:41 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.tracing-subscriber]
|
2025-09-04 23:14:27 +00:00
|
|
|
version = "0.3"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = [
|
|
|
|
|
"ansi",
|
|
|
|
|
"env-filter",
|
|
|
|
|
"fmt",
|
|
|
|
|
"std",
|
|
|
|
|
"tracing",
|
|
|
|
|
"tracing-log",
|
|
|
|
|
]
|
2025-01-22 00:52:48 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.url]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "2.5"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
|
|
|
|
features = ["serde"]
|
2025-01-22 00:52:48 +00:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
[workspace.dependencies.webpage]
|
2025-08-07 04:52:46 +00:00
|
|
|
version = "2.0"
|
2025-04-20 19:52:45 +02:00
|
|
|
default-features = false
|
2025-02-08 01:58:13 +00:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
#
|
|
|
|
|
# Patches
|
|
|
|
|
#
|
2023-07-26 13:24:44 -07:00
|
|
|
|
2025-04-20 19:52:45 +02:00
|
|
|
# adds a tab completion callback:
|
|
|
|
|
# https://github.com/girlbossceo/rustyline-async/commit/de26100b0db03e419a3d8e1dd26895d170d1fe50
|
|
|
|
|
# adds event for CTRL+\:
|
|
|
|
|
# https://github.com/girlbossceo/rustyline-async/commit/67d8c49aeac03a5ef4e818f663eaa94dd7bf339b
|
2024-07-14 00:14:23 -04:00
|
|
|
[patch.crates-io.rustyline-async]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/rustyline-async"
|
2025-06-08 01:40:30 +00:00
|
|
|
rev = "ba743cae940659e95d7b8604bbd6fdd755171c8c"
|
2024-07-14 00:14:23 -04:00
|
|
|
|
2024-12-25 06:17:18 +00:00
|
|
|
# adds LIFO queue scheduling; this should be updated with PR progress.
|
|
|
|
|
[patch.crates-io.event-listener]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/event-listener"
|
2025-01-02 18:55:52 -05:00
|
|
|
rev = "fe4aebeeaae435af60087ddd56b573a2e0be671d"
|
2024-12-25 06:17:18 +00:00
|
|
|
[patch.crates-io.async-channel]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/async-channel"
|
2025-01-02 18:55:52 -05:00
|
|
|
rev = "92e5e74063bf2a3b10414bcc8a0d68b235644280"
|
2024-12-25 06:17:18 +00:00
|
|
|
|
2025-04-03 19:36:24 +00:00
|
|
|
# adds affinity masks for selecting more than one core at a time
|
2024-12-30 09:35:44 +00:00
|
|
|
[patch.crates-io.core_affinity]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/core_affinity_rs"
|
2025-06-08 02:24:48 +00:00
|
|
|
rev = "ff148c2985cbaff3e6e953d45cda4d7696f38d75"
|
2024-12-30 09:35:44 +00:00
|
|
|
|
2025-04-03 19:36:24 +00:00
|
|
|
# reverts hyperium#148 conflicting with our delicate federation resolver hooks
|
|
|
|
|
[patch.crates-io.hyper-util]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/hyper-util"
|
2025-06-07 21:11:44 +00:00
|
|
|
rev = "c4fd9b4cd3a59fcfd28ca3802d68a8ea8988d9a3"
|
2025-04-03 19:36:24 +00:00
|
|
|
|
2025-04-05 18:31:14 -04:00
|
|
|
# allows no-aaaa option in resolv.conf
|
|
|
|
|
# bumps rust edition and toolchain to 1.86.0 and 2024
|
|
|
|
|
# use sat_add on line number errors
|
|
|
|
|
[patch.crates-io.resolv-conf]
|
2025-04-20 19:52:45 +02:00
|
|
|
git = "https://github.com/matrix-construct/resolv-conf"
|
2025-04-05 18:31:14 -04:00
|
|
|
rev = "200e958941d522a70c5877e3d846f55b5586c68d"
|
|
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
#
|
|
|
|
|
# Our crates
|
|
|
|
|
#
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[workspace.dependencies.tuwunel-router]
|
|
|
|
|
package = "tuwunel_router"
|
2024-05-09 15:59:08 -07:00
|
|
|
path = "src/router"
|
|
|
|
|
default-features = false
|
2024-04-25 09:07:59 -07:00
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[workspace.dependencies.tuwunel-admin]
|
|
|
|
|
package = "tuwunel_admin"
|
2024-05-09 15:59:08 -07:00
|
|
|
path = "src/admin"
|
|
|
|
|
default-features = false
|
2024-04-22 22:36:11 -04:00
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[workspace.dependencies.tuwunel-api]
|
|
|
|
|
package = "tuwunel_api"
|
2024-05-09 15:59:08 -07:00
|
|
|
path = "src/api"
|
|
|
|
|
default-features = false
|
2024-04-10 01:53:31 -04:00
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[workspace.dependencies.tuwunel-service]
|
|
|
|
|
package = "tuwunel_service"
|
2024-05-09 15:59:08 -07:00
|
|
|
path = "src/service"
|
|
|
|
|
default-features = false
|
|
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[workspace.dependencies.tuwunel-database]
|
|
|
|
|
package = "tuwunel_database"
|
2024-05-09 15:59:08 -07:00
|
|
|
path = "src/database"
|
|
|
|
|
default-features = false
|
2024-04-24 01:15:49 -04:00
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[workspace.dependencies.tuwunel-core]
|
|
|
|
|
package = "tuwunel_core"
|
2024-05-09 15:59:08 -07:00
|
|
|
path = "src/core"
|
|
|
|
|
default-features = false
|
2024-04-23 11:15:29 -07:00
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[workspace.dependencies.tuwunel-macros]
|
|
|
|
|
package = "tuwunel_macros"
|
2024-07-24 00:14:03 +00:00
|
|
|
path = "src/macros"
|
|
|
|
|
default-features = false
|
|
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
###############################################################################
|
|
|
|
|
#
|
|
|
|
|
# Release profiles
|
2024-03-23 23:13:40 -04:00
|
|
|
#
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2021-08-13 17:20:40 +02:00
|
|
|
[profile.release]
|
2023-08-05 13:30:52 -10:00
|
|
|
strip = "symbols"
|
2024-05-09 15:59:08 -07:00
|
|
|
lto = "thin"
|
2024-01-16 19:49:44 -05:00
|
|
|
|
2024-04-19 23:47:14 -04:00
|
|
|
# release profile with debug symbols
|
|
|
|
|
[profile.release-debuginfo]
|
|
|
|
|
inherits = "release"
|
2024-04-20 01:15:51 -04:00
|
|
|
debug = "full"
|
2024-05-09 15:59:08 -07:00
|
|
|
strip = "none"
|
2024-04-19 23:47:14 -04:00
|
|
|
|
2025-03-15 04:23:24 +00:00
|
|
|
# do not use without profile-rustflags enabled. uncomment ALL the sections for
|
2025-06-06 01:00:36 +00:00
|
|
|
# profile.release-native
|
|
|
|
|
[profile.release-native]
|
2024-05-09 15:59:08 -07:00
|
|
|
inherits = "release"
|
|
|
|
|
strip = "symbols"
|
|
|
|
|
lto = "fat"
|
|
|
|
|
#rustflags = [
|
|
|
|
|
# '-Ctarget-cpu=native',
|
|
|
|
|
# '-Ztune-cpu=native',
|
|
|
|
|
# '-Ctarget-feature=+crt-static',
|
|
|
|
|
# '-Crelocation-model=static',
|
|
|
|
|
# '-Ztls-model=local-exec',
|
|
|
|
|
# '-Zinline-mir=true',
|
|
|
|
|
# '-Zmir-opt-level=3',
|
|
|
|
|
# '-Clink-arg=-Wl,--gc-sections',
|
|
|
|
|
# '-Ztime-passes',
|
|
|
|
|
# '-Ztime-llvm-passes',
|
|
|
|
|
#]
|
|
|
|
|
|
2025-06-06 01:00:36 +00:00
|
|
|
[profile.release-native.build-override]
|
|
|
|
|
inherits = "release-native"
|
2024-05-09 15:59:08 -07:00
|
|
|
opt-level = 0
|
2024-08-01 12:25:22 +00:00
|
|
|
codegen-units = 32
|
2024-05-09 15:59:08 -07:00
|
|
|
#rustflags = [
|
2024-08-01 12:25:22 +00:00
|
|
|
# '-Crelocation-model=pic',
|
|
|
|
|
# '-Ctarget-feature=-crt-static',
|
|
|
|
|
# '-Clink-arg=-Wl,--no-gc-sections',
|
|
|
|
|
#]
|
|
|
|
|
|
2025-06-06 01:00:36 +00:00
|
|
|
[profile.release-native.package.tuwunel_macros]
|
|
|
|
|
inherits = "release-native.build-override"
|
2024-08-01 12:25:22 +00:00
|
|
|
#rustflags = [
|
|
|
|
|
# '-Crelocation-model=pic',
|
2024-05-09 15:59:08 -07:00
|
|
|
# '-Ctarget-feature=-crt-static',
|
|
|
|
|
#]
|
|
|
|
|
|
|
|
|
|
[profile.bench]
|
2025-03-15 04:23:24 +00:00
|
|
|
debug = "limited"
|
|
|
|
|
strip = false
|
2024-05-09 15:59:08 -07:00
|
|
|
#rustflags = [
|
|
|
|
|
# "-Cremark=all",
|
|
|
|
|
# '-Ztime-passes',
|
|
|
|
|
# '-Ztime-llvm-passes',
|
|
|
|
|
#]
|
2024-01-16 19:49:44 -05:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
###############################################################################
|
|
|
|
|
#
|
|
|
|
|
# Developer profile
|
|
|
|
|
#
|
2024-01-13 14:29:18 -05:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
# To enable hot-reloading:
|
|
|
|
|
# 1. Uncomment all of the rustflags here.
|
2025-03-06 18:12:54 -05:00
|
|
|
# 2. Uncomment crate-type=dylib in src/*/Cargo.toml
|
2024-05-09 15:59:08 -07:00
|
|
|
#
|
|
|
|
|
# opt-level, mir-opt-level, validate-mir are not known to interfere with reloading
|
|
|
|
|
# and can be raised if build times are tolerable.
|
2024-03-09 15:49:51 -05:00
|
|
|
|
2024-05-09 15:59:08 -07:00
|
|
|
[profile.dev]
|
2024-09-07 18:09:21 +02:00
|
|
|
debug = "full"
|
2024-05-09 15:59:08 -07:00
|
|
|
#rustflags = [
|
2025-04-22 01:41:02 +00:00
|
|
|
# '--cfg', 'tuwunel_mods',
|
2024-05-09 15:59:08 -07:00
|
|
|
# '-Ztime-passes',
|
|
|
|
|
# '-Zmir-opt-level=0',
|
|
|
|
|
# '-Zvalidate-mir=false',
|
|
|
|
|
# '-Ztls-model=global-dynamic',
|
|
|
|
|
# '-Cprefer-dynamic=true',
|
|
|
|
|
# '-Zstaticlib-prefer-dynamic=true',
|
|
|
|
|
# '-Zstaticlib-allow-rdylib-deps=true',
|
|
|
|
|
# '-Zpacked-bundled-libs=false',
|
|
|
|
|
# '-Zplt=true',
|
|
|
|
|
# '-Crpath=true',
|
|
|
|
|
# '-Clink-arg=-Wl,--as-needed',
|
|
|
|
|
# '-Clink-arg=-Wl,--allow-shlib-undefined',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,keep-text-section-prefix',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,lazy',
|
|
|
|
|
#]
|
|
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[profile.dev.package.tuwunel_core]
|
2024-05-09 15:59:08 -07:00
|
|
|
inherits = "dev"
|
|
|
|
|
incremental = false
|
|
|
|
|
#rustflags = [
|
2025-04-22 01:41:02 +00:00
|
|
|
# '--cfg', 'tuwunel_mods',
|
2024-05-09 15:59:08 -07:00
|
|
|
# '-Ztime-passes',
|
|
|
|
|
# '-Zmir-opt-level=0',
|
|
|
|
|
# '-Ztls-model=initial-exec',
|
|
|
|
|
# '-Cprefer-dynamic=true',
|
|
|
|
|
# '-Zstaticlib-prefer-dynamic=true',
|
|
|
|
|
# '-Zstaticlib-allow-rdylib-deps=true',
|
|
|
|
|
# '-Zpacked-bundled-libs=false',
|
|
|
|
|
# '-Zplt=true',
|
|
|
|
|
# '-Clink-arg=-Wl,--as-needed',
|
|
|
|
|
# '-Clink-arg=-Wl,--allow-shlib-undefined',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,lazy',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,unique',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,nodlopen',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,nodelete',
|
|
|
|
|
#]
|
|
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
[profile.dev.package.tuwunel]
|
2024-05-09 15:59:08 -07:00
|
|
|
inherits = "dev"
|
|
|
|
|
#rustflags = [
|
2025-04-22 01:41:02 +00:00
|
|
|
# '--cfg', 'tuwunel_mods',
|
2024-05-09 15:59:08 -07:00
|
|
|
# '-Ztime-passes',
|
|
|
|
|
# '-Zmir-opt-level=0',
|
|
|
|
|
# '-Zvalidate-mir=false',
|
|
|
|
|
# '-Ztls-model=global-dynamic',
|
|
|
|
|
# '-Cprefer-dynamic=true',
|
|
|
|
|
# '-Zexport-executable-symbols=true',
|
|
|
|
|
# '-Zplt=true',
|
|
|
|
|
# '-Crpath=true',
|
|
|
|
|
# '-Clink-arg=-Wl,--as-needed',
|
|
|
|
|
# '-Clink-arg=-Wl,--allow-shlib-undefined',
|
|
|
|
|
# '-Clink-arg=-Wl,--export-dynamic',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,lazy',
|
|
|
|
|
#]
|
|
|
|
|
|
|
|
|
|
[profile.dev.package.'*']
|
|
|
|
|
inherits = "dev"
|
2025-03-15 04:23:24 +00:00
|
|
|
debug = "limited"
|
2024-05-09 15:59:08 -07:00
|
|
|
incremental = false
|
|
|
|
|
codegen-units = 1
|
|
|
|
|
opt-level = 'z'
|
|
|
|
|
#rustflags = [
|
2025-04-22 01:41:02 +00:00
|
|
|
# '--cfg', 'tuwunel_mods',
|
2024-05-09 15:59:08 -07:00
|
|
|
# '-Ztls-model=global-dynamic',
|
|
|
|
|
# '-Cprefer-dynamic=true',
|
|
|
|
|
# '-Zstaticlib-prefer-dynamic=true',
|
|
|
|
|
# '-Zstaticlib-allow-rdylib-deps=true',
|
|
|
|
|
# '-Zpacked-bundled-libs=true',
|
|
|
|
|
# '-Zplt=true',
|
|
|
|
|
# '-Clink-arg=-Wl,--as-needed',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,lazy',
|
|
|
|
|
# '-Clink-arg=-Wl,-z,nodelete',
|
|
|
|
|
#]
|
|
|
|
|
|
2024-07-25 18:06:45 -04:00
|
|
|
# primarily used for CI
|
2024-05-09 15:59:08 -07:00
|
|
|
[profile.test]
|
2025-03-15 04:23:24 +00:00
|
|
|
debug = "limited"
|
2024-07-25 18:06:45 -04:00
|
|
|
|
|
|
|
|
[profile.test.package.'*']
|
2025-03-15 04:23:24 +00:00
|
|
|
inherits = "test"
|
2024-05-09 15:59:08 -07:00
|
|
|
incremental = false
|
2025-03-15 04:23:24 +00:00
|
|
|
codegen-units = 1
|
|
|
|
|
opt-level = 'z'
|
2024-01-13 14:29:18 -05:00
|
|
|
|
2024-06-01 09:20:37 +00:00
|
|
|
###############################################################################
|
|
|
|
|
#
|
|
|
|
|
# Linting
|
|
|
|
|
#
|
2024-03-05 23:51:45 -05:00
|
|
|
|
2024-06-01 09:20:37 +00:00
|
|
|
[workspace.lints.rust]
|
|
|
|
|
absolute-paths-not-starting-with-crate = "warn"
|
2024-06-03 06:54:58 +00:00
|
|
|
#box-pointers = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
deprecated-in-future = "warn"
|
|
|
|
|
elided-lifetimes-in-paths = "warn"
|
|
|
|
|
explicit-outlives-requirements = "warn"
|
|
|
|
|
ffi-unwind-calls = "warn"
|
|
|
|
|
keyword-idents = "warn"
|
|
|
|
|
macro-use-extern-crate = "warn"
|
|
|
|
|
meta-variable-misuse = "warn"
|
|
|
|
|
missing-abi = "warn"
|
|
|
|
|
#missing-copy-implementations = "warn" # TODO
|
|
|
|
|
#missing-debug-implementations = "warn" # TODO
|
|
|
|
|
non-ascii-idents = "warn"
|
|
|
|
|
rust-2021-incompatible-closure-captures = "warn"
|
|
|
|
|
rust-2021-incompatible-or-patterns = "warn"
|
|
|
|
|
rust-2021-prefixes-incompatible-syntax = "warn"
|
|
|
|
|
rust-2021-prelude-collisions = "warn"
|
|
|
|
|
single-use-lifetimes = "warn"
|
2024-06-03 10:44:46 +00:00
|
|
|
trivial-casts = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
trivial-numeric-casts = "warn"
|
|
|
|
|
unit-bindings = "warn"
|
|
|
|
|
#unnameable-types = "warn" # TODO
|
|
|
|
|
unreachable-pub = "warn"
|
|
|
|
|
unsafe-op-in-unsafe-fn = "warn"
|
|
|
|
|
unstable-features = "warn"
|
|
|
|
|
unused-extern-crates = "warn"
|
|
|
|
|
unused-import-braces = "warn"
|
|
|
|
|
unused-lifetimes = "warn"
|
|
|
|
|
unused-macro-rules = "warn"
|
|
|
|
|
unused-qualifications = "warn"
|
|
|
|
|
#unused-results = "warn" # TODO
|
|
|
|
|
|
|
|
|
|
## some sadness
|
2024-10-27 00:30:30 +00:00
|
|
|
elided_named_lifetimes = "allow" # TODO!
|
2025-07-07 02:21:17 +00:00
|
|
|
mismatched_lifetime_syntaxes = "allow" # TODO!
|
2024-06-01 09:20:37 +00:00
|
|
|
let_underscore_drop = "allow"
|
|
|
|
|
missing_docs = "allow"
|
2024-05-19 13:02:55 +00:00
|
|
|
# cfgs cannot be limited to expected cfgs or their de facto non-transitive/opt-in use-case e.g.
|
|
|
|
|
# tokio_unstable will warn.
|
|
|
|
|
unexpected_cfgs = "allow"
|
2024-06-01 09:20:37 +00:00
|
|
|
# this seems to suggest broken code and is not working correctly
|
|
|
|
|
unused_braces = "allow"
|
|
|
|
|
# buggy, but worth checking on occasionally
|
|
|
|
|
unused_crate_dependencies = "allow"
|
|
|
|
|
unsafe_code = "allow"
|
|
|
|
|
variant_size_differences = "allow"
|
2024-05-19 13:02:55 +00:00
|
|
|
|
2025-03-11 23:05:56 -04:00
|
|
|
# we check nightly clippy lints
|
|
|
|
|
unknown_lints = "allow"
|
|
|
|
|
|
2025-07-07 02:21:17 +00:00
|
|
|
# rust claims elided_named_lifetimes has been replaced by
|
|
|
|
|
# mismatched_lifetime_syntaxes but it actually has not.
|
|
|
|
|
renamed_and_removed_lints = "allow"
|
|
|
|
|
|
2025-07-06 01:19:46 -04:00
|
|
|
# nightly has a new lint that conflicts with our BoolExt trait at
|
|
|
|
|
# src/core/utils/bool.rs:68:48
|
|
|
|
|
# <https://github.com/rust-lang/rust/issues/142748>
|
|
|
|
|
unstable_name_collisions = "allow" # TODO
|
|
|
|
|
|
2024-06-01 09:20:37 +00:00
|
|
|
#######################################
|
|
|
|
|
#
|
|
|
|
|
# Clippy lints
|
|
|
|
|
#
|
2024-03-23 14:38:15 -04:00
|
|
|
|
2024-01-13 14:29:18 -05:00
|
|
|
[workspace.lints.clippy]
|
2024-06-01 09:20:37 +00:00
|
|
|
|
|
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
cargo = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
|
|
|
|
## some sadness
|
|
|
|
|
multiple_crate_versions = { level = "allow", priority = 1 }
|
|
|
|
|
|
|
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
complexity = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
2025-09-23 11:53:39 +00:00
|
|
|
# promotes forward-compat for literal ..default() construction
|
|
|
|
|
needless_update = { level = "allow", priority = 1 }
|
|
|
|
|
|
2024-06-01 09:20:37 +00:00
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
correctness = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
|
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
nursery = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
2024-06-03 06:54:58 +00:00
|
|
|
## some sadness
|
2024-06-01 09:20:37 +00:00
|
|
|
missing_const_for_fn = { level = "allow", priority = 1 } # TODO
|
|
|
|
|
option_if_let_else = { level = "allow", priority = 1 } # TODO
|
|
|
|
|
redundant_pub_crate = { level = "allow", priority = 1 } # TODO
|
|
|
|
|
significant_drop_in_scrutinee = { level = "allow", priority = 1 } # TODO
|
|
|
|
|
significant_drop_tightening = { level = "allow", priority = 1 } # TODO
|
|
|
|
|
|
|
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
pedantic = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
|
|
|
|
## some sadness
|
2024-10-24 20:47:51 -04:00
|
|
|
too_long_first_doc_paragraph = { level = "allow", priority = 1 }
|
2025-08-10 05:31:23 +00:00
|
|
|
default_trait_access = { level = "allow", priority = 1 }
|
2024-06-16 00:25:49 +00:00
|
|
|
doc_markdown = { level = "allow", priority = 1 }
|
2024-07-06 06:50:29 +00:00
|
|
|
enum_glob_use = { level = "allow", priority = 1 }
|
2024-06-16 00:25:49 +00:00
|
|
|
if_not_else = { level = "allow", priority = 1 }
|
|
|
|
|
if_then_some_else_none = { level = "allow", priority = 1 }
|
|
|
|
|
inline_always = { level = "allow", priority = 1 }
|
2025-07-17 00:42:14 +00:00
|
|
|
map_unwrap_or = { level = "allow", priority = 1 }
|
2025-01-18 12:05:07 +00:00
|
|
|
match_bool = { level = "allow", priority = 1 }
|
2024-06-16 00:25:49 +00:00
|
|
|
missing_docs_in_private_items = { level = "allow", priority = 1 }
|
|
|
|
|
missing_errors_doc = { level = "allow", priority = 1 }
|
|
|
|
|
missing_panics_doc = { level = "allow", priority = 1 }
|
|
|
|
|
module_name_repetitions = { level = "allow", priority = 1 }
|
2025-02-25 18:38:12 +00:00
|
|
|
needless_continue = { level = "allow", priority = 1 }
|
2024-06-16 00:25:49 +00:00
|
|
|
no_effect_underscore_binding = { level = "allow", priority = 1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
similar_names = { level = "allow", priority = 1 }
|
2024-08-08 17:18:30 +00:00
|
|
|
single_match_else = { level = "allow", priority = 1 }
|
2025-03-28 23:34:42 +00:00
|
|
|
struct_excessive_bools = { level = "allow", priority = 1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
struct_field_names = { level = "allow", priority = 1 }
|
|
|
|
|
unnecessary_wraps = { level = "allow", priority = 1 }
|
|
|
|
|
unused_async = { level = "allow", priority = 1 }
|
|
|
|
|
|
|
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
perf = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
|
|
|
|
###################
|
|
|
|
|
#restriction = "warn"
|
|
|
|
|
|
2024-07-28 01:03:08 +00:00
|
|
|
#allow_attributes = "warn" # UNSTABLE
|
2024-07-07 04:46:16 +00:00
|
|
|
arithmetic_side_effects = "warn"
|
2024-07-07 06:17:58 +00:00
|
|
|
as_conversions = "warn"
|
2024-07-07 11:20:03 +00:00
|
|
|
as_underscore = "warn"
|
2024-03-18 20:26:32 -04:00
|
|
|
assertions_on_result_states = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
dbg_macro = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
default_union_representation = "warn"
|
|
|
|
|
deref_by_slicing = "warn"
|
|
|
|
|
empty_drop = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
empty_structs_with_brackets = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
exit = "warn"
|
|
|
|
|
filetype_is_file = "warn"
|
|
|
|
|
float_cmp_const = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
fn_to_numeric_cast_any = "warn"
|
2024-03-02 17:33:46 -05:00
|
|
|
format_push_string = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
get_unwrap = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
impl_trait_in_params = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
let_underscore_untyped = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
lossy_float_literal = "warn"
|
|
|
|
|
mem_forget = "warn"
|
2024-03-02 18:14:45 -05:00
|
|
|
missing_assert_message = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
mutex_atomic = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
pub_without_shorthand = "warn"
|
|
|
|
|
rc_buffer = "warn"
|
|
|
|
|
rc_mutex = "warn"
|
|
|
|
|
redundant_type_annotations = "warn"
|
|
|
|
|
rest_pat_in_fully_bound_structs = "warn"
|
2024-03-02 20:55:02 -05:00
|
|
|
semicolon_outside_block = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
str_to_string = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
string_lit_chars_any = "warn"
|
2024-07-08 16:30:59 +00:00
|
|
|
string_slice = "warn"
|
2025-08-26 08:42:10 +00:00
|
|
|
implicit_clone = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
suspicious_xor_used_as_pow = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
tests_outside_test_module = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
try_err = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
undocumented_unsafe_blocks = "warn"
|
2024-03-02 17:17:27 -05:00
|
|
|
unnecessary_safety_comment = "warn"
|
|
|
|
|
unnecessary_safety_doc = "warn"
|
|
|
|
|
unnecessary_self_imports = "warn"
|
2024-06-01 09:20:37 +00:00
|
|
|
unneeded_field_pattern = "warn"
|
|
|
|
|
unseparated_literal_suffix = "warn"
|
2024-07-07 11:20:03 +00:00
|
|
|
#unwrap_used = "warn" # TODO
|
2024-03-02 17:17:27 -05:00
|
|
|
verbose_file_reads = "warn"
|
2024-03-23 14:38:15 -04:00
|
|
|
|
2024-06-01 09:20:37 +00:00
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
style = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
2024-06-04 23:51:02 +00:00
|
|
|
## some sadness
|
|
|
|
|
# trivial assertions are quite alright
|
2024-06-16 00:25:49 +00:00
|
|
|
assertions_on_constants = { level = "allow", priority = 1 }
|
2024-07-27 23:25:13 +00:00
|
|
|
module_inception = { level = "allow", priority = 1 }
|
2025-02-25 18:38:12 +00:00
|
|
|
obfuscated_if_else = { level = "allow", priority = 1 }
|
2025-05-21 22:43:47 +00:00
|
|
|
collapsible_if = { level = "allow", priority = 1 } # TODO stable v. nightly 05-21-25
|
2024-06-04 23:51:02 +00:00
|
|
|
|
2024-06-01 09:20:37 +00:00
|
|
|
###################
|
2024-07-25 19:43:48 -04:00
|
|
|
suspicious = { level = "warn", priority = -1 }
|
2024-06-01 09:20:37 +00:00
|
|
|
|
|
|
|
|
## some sadness
|
2024-06-16 00:25:49 +00:00
|
|
|
let_underscore_future = { level = "allow", priority = 1 }
|
2025-02-23 01:17:30 -05:00
|
|
|
|
2025-04-22 01:41:02 +00:00
|
|
|
# rust doesnt understand tuwunel's custom log macros
|
2025-02-23 01:17:30 -05:00
|
|
|
literal_string_with_formatting_args = { level = "allow", priority = 1 }
|