Replace various contact data; dependency migration. (#25)

Co-authored-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Peter Gervai 2025-04-20 19:52:45 +02:00 committed by Jason Volk
parent 793820a7f0
commit 0024354345
5 changed files with 490 additions and 495 deletions

View file

@ -7,90 +7,54 @@ default-members = ["src/*"]
[workspace.package]
authors = [
"June Clementine Strawberry <june@girlboss.ceo>",
"strawberry <strawberry@puppygock.gay>", # woof
"Jason Volk <jason@zemos.net>",
"Timo Kösters <timo@koesters.xyz>",
"June Clementine Strawberry <june@girlboss.ceo>",
"Jason Volk <jason@zemos.net>",
"Conduit Contributors",
"Conduwuit Contributors",
"Tuwunel Contributors",
]
categories = ["network-programming"]
description = "a very cool Matrix chat homeserver written in Rust"
description = "High Performance Matrix Homeserver in Rust!"
edition = "2024"
homepage = "https://conduwuit.puppyirl.gay/"
keywords = ["chat", "matrix", "networking", "server", "uwu"]
homepage = "https://tuwunel.chat"
keywords = [
"chat",
"matrix",
"networking",
"server",
"uwu",
]
license = "Apache-2.0"
# See also `rust-toolchain.toml`
readme = "README.md"
repository = "https://github.com/girlbossceo/conduwuit"
repository = "https://github.com/matrix-construct/tuwunel"
rust-version = "1.86.0"
version = "0.5.0"
version = "1.0.0"
[workspace.metadata.crane]
name = "conduwuit"
name = "tuwunel"
#
# Dependencies
#
[workspace.dependencies.argon2]
version = "0.5.3"
default-features = false
features = [
"alloc",
"rand",
]
[workspace.dependencies.arrayvec]
version = "0.7.6"
features = ["serde"]
[workspace.dependencies.smallvec]
version = "1.14.0"
features = [
"const_generics",
"const_new",
"serde",
"union",
"write",
]
[workspace.dependencies.async-channel]
version = "2.3.1"
[workspace.dependencies.smallstr]
version = "0.3"
features = ["ffi", "std", "union"]
[workspace.dependencies.const-str]
version = "0.6.2"
[workspace.dependencies.ctor]
version = "0.2.9"
[workspace.dependencies.cargo_toml]
version = "0.21"
default-features = false
features = ["features"]
[workspace.dependencies.toml]
version = "0.8.14"
default-features = false
features = ["parse"]
[workspace.dependencies.sanitize-filename]
version = "0.6.0"
[workspace.dependencies.base64]
version = "0.22.1"
default-features = false
# used for TURN server authentication
[workspace.dependencies.hmac]
version = "0.12.1"
default-features = false
# used for checking if an IP is in specific subnets / CIDR ranges easier
[workspace.dependencies.ipaddress]
version = "0.1.3"
[workspace.dependencies.rand]
version = "0.8.5"
# Used for the http request / response body type for Ruma endpoints used with reqwest
[workspace.dependencies.bytes]
version = "1.10.1"
[workspace.dependencies.http-body-util]
version = "0.1.3"
[workspace.dependencies.http]
version = "1.3.1"
[workspace.dependencies.regex]
version = "1.11.1"
[workspace.dependencies.async-trait]
version = "0.1.88"
[workspace.dependencies.axum]
version = "0.7.9"
@ -105,94 +69,27 @@ features = [
"tracing",
]
[workspace.dependencies.axum-client-ip]
version = "0.6.1"
[workspace.dependencies.axum-extra]
version = "0.9.6"
default-features = false
features = ["typed-header", "tracing"]
features = [
"typed-header",
"tracing",
]
[workspace.dependencies.axum-server]
version = "0.7.2"
default-features = false
# to listen on both HTTP and HTTPS if listening on TLS dierctly from conduwuit for complement or sytest
[workspace.dependencies.axum-server-dual-protocol]
version = "0.7"
[workspace.dependencies.axum-client-ip]
version = "0.6.1"
[workspace.dependencies.tower]
version = "0.5.2"
[workspace.dependencies.base64]
version = "0.22.1"
default-features = false
features = ["util"]
[workspace.dependencies.tower-http]
version = "0.6.2"
default-features = false
features = [
"add-extension",
"catch-panic",
"cors",
"sensitive-headers",
"set-header",
"timeout",
"trace",
"util",
]
[workspace.dependencies.rustls]
version = "0.23.25"
default-features = false
features = ["aws_lc_rs"]
[workspace.dependencies.reqwest]
version = "0.12.15"
default-features = false
features = [
"rustls-tls-native-roots",
"socks",
"hickory-dns",
"http2",
]
[workspace.dependencies.serde]
version = "1.0.219"
default-features = false
features = ["rc"]
[workspace.dependencies.serde_json]
version = "1.0.140"
default-features = false
features = ["raw_value"]
# Used for appservice registration files
[workspace.dependencies.serde_yaml]
version = "0.9.34"
# Used to load forbidden room/user regex from config
[workspace.dependencies.serde_regex]
version = "1.1.0"
# Used for ruma wrapper
[workspace.dependencies.serde_html_form]
version = "0.2.6"
# Used for password hashing
[workspace.dependencies.argon2]
version = "0.5.3"
features = ["alloc", "rand"]
default-features = false
# Used to generate thumbnails for images & blurhashes
[workspace.dependencies.image]
version = "0.25.5"
default-features = false
features = [
"jpeg",
"png",
"gif",
"webp",
]
[workspace.dependencies.blurhash]
version = "0.2.3"
@ -202,27 +99,25 @@ features = [
"image",
]
# logging
[workspace.dependencies.log]
version = "0.4.27"
[workspace.dependencies.bytes]
version = "1.10.1"
[workspace.dependencies.bytesize]
version = "2.0"
[workspace.dependencies.cargo_toml]
version = "0.21"
default-features = false
[workspace.dependencies.tracing]
version = "0.1.41"
default-features = false
[workspace.dependencies.tracing-subscriber]
version = "0.3.19"
default-features = false
features = ["env-filter", "std", "tracing", "tracing-log", "ansi", "fmt"]
[workspace.dependencies.tracing-core]
version = "0.1.33"
features = ["features"]
[workspace.dependencies.checked_ops]
version = "0.1"
[workspace.dependencies.chrono]
version = "0.4.38"
features = ["alloc", "std"]
default-features = false
# for URL previews
[workspace.dependencies.webpage]
version = "2.0.1"
default-features = false
# used for conduwuit's CLI and admin room command parsing
[workspace.dependencies.clap]
version = "4.5.35"
default-features = false
@ -236,44 +131,64 @@ features = [
"usage",
]
[workspace.dependencies.console-subscriber]
version = "0.4"
[workspace.dependencies.core_affinity]
version = "0.8.1"
[workspace.dependencies.const-str]
version = "0.6.2"
[workspace.dependencies.ctor]
version = "0.2.9"
[workspace.dependencies.cyborgtime]
version = "2.1.1"
[workspace.dependencies.either]
version = "1.15.0"
default-features = false
features = ["serde"]
[workspace.dependencies.figment]
version = "0.10.19"
default-features = false
features = ["env", "toml"]
[workspace.dependencies.futures]
version = "0.3.31"
default-features = false
features = ["std", "async-await"]
[workspace.dependencies.tokio]
version = "1.44.2"
[workspace.dependencies.hardened_malloc-rs]
version = "0.1.2"
default-features = false
features = [
"fs",
"net",
"macros",
"sync",
"signal",
"time",
"rt-multi-thread",
"io-util",
"tracing",
"static",
"gcc",
"light",
]
[workspace.dependencies.tokio-metrics]
version = "0.4.0"
[workspace.dependencies.libloading]
version = "0.8.6"
# Validating urls in config, was already a transitive dependency
[workspace.dependencies.url]
version = "2.5.4"
[workspace.dependencies.hickory-resolver]
version = "0.25.1"
default-features = false
features = ["serde"]
features = [
"serde",
"system-config",
"tokio",
]
# standard date and time tools
[workspace.dependencies.chrono]
version = "0.4.38"
features = ["alloc", "std"]
[workspace.dependencies.hmac]
version = "0.12.1"
default-features = false
[workspace.dependencies.http]
version = "1.3.1"
[workspace.dependencies.http-body-util]
version = "0.1.3"
[workspace.dependencies.hyper]
version = "1.6.0"
default-features = false
@ -292,64 +207,96 @@ features = [
"tokio",
]
# to support multiple variations of setting a config option
[workspace.dependencies.either]
version = "1.15.0"
default-features = false
features = ["serde"]
# Used for reading the configuration from conduwuit.toml & environment variables
[workspace.dependencies.figment]
version = "0.10.19"
default-features = false
features = ["env", "toml"]
[workspace.dependencies.hickory-resolver]
version = "0.25.1"
[workspace.dependencies.image]
version = "0.25.5"
default-features = false
features = [
"serde",
"system-config",
"tokio",
"jpeg",
"png",
"gif",
"webp",
]
# Used for conduwuit::Error type
[workspace.dependencies.thiserror]
version = "2.0.12"
default-features = false
[workspace.dependencies.ipaddress]
version = "0.1.3"
# Used when hashing the state
[workspace.dependencies.ring]
version = "0.17.14"
default-features = false
# Used to make working with iterators easier, was already a transitive depdendency
[workspace.dependencies.itertools]
version = "0.14.0"
# to parse user-friendly time durations in admin commands
#TODO: overlaps chrono?
[workspace.dependencies.cyborgtime]
version = "2.1.1"
[workspace.dependencies.libc]
version = "0.2"
[workspace.dependencies.libloading]
version = "0.8.6"
[workspace.dependencies.log]
version = "0.4.27"
default-features = false
# used for MPSC channels
[workspace.dependencies.loole]
version = "0.4.0"
# used for MPMC channels
[workspace.dependencies.async-channel]
version = "2.3.1"
[workspace.dependencies.async-trait]
version = "0.1.88"
[workspace.dependencies.lru-cache]
version = "0.1.2"
# Used for matrix spec type definitions and helpers
[workspace.dependencies.maplit]
version = "1.0.2"
[workspace.dependencies.minicbor]
version = "0.26.3"
features = ["std"]
[workspace.dependencies.minicbor-serde]
version = "0.4.1"
features = ["std"]
[workspace.dependencies.nix]
version = "0.29.0"
default-features = false
features = ["resource"]
[workspace.dependencies.num-traits]
version = "0.2"
[workspace.dependencies.opentelemetry]
version = "0.21.0"
[workspace.dependencies.opentelemetry-jaeger]
version = "0.20.0"
features = ["rt-tokio"]
[workspace.dependencies.opentelemetry_sdk]
version = "0.21.2"
features = ["rt-tokio"]
[workspace.dependencies.proc-macro2]
version = "1.0"
[workspace.dependencies.quote]
version = "1.0"
[workspace.dependencies.rand]
version = "0.8.5"
[workspace.dependencies.regex]
version = "1.11.1"
[workspace.dependencies.reqwest]
version = "0.12.15"
default-features = false
features = [
"rustls-tls-native-roots",
"socks",
"hickory-dns",
"http2",
]
[workspace.dependencies.ring]
version = "0.17.14"
default-features = false
[workspace.dependencies.ruma]
git = "https://github.com/girlbossceo/ruwuma"
#branch = "conduwuit-changes"
git = "https://github.com/matrix-construct/ruma"
rev = "920148dca1076454ca0ca5d43b5ce1aa708381d4"
features = [
"compat",
@ -387,9 +334,18 @@ features = [
"unstable-pdu",
]
[workspace.dependencies.rustls]
version = "0.23.25"
default-features = false
features = ["aws_lc_rs"]
[workspace.dependencies.rustyline-async]
version = "0.4.3"
default-features = false
[workspace.dependencies.rust-rocksdb]
git = "https://github.com/girlbossceo/rust-rocksdb-zaidoon1"
rev = "1c267e0bf0cc7b7702e9a329deccd89de79ef4c3"
git = "https://github.com/matrix-construct/rust-rocksdb"
rev = "cca241c5ca48f7c7f5c1469294f11dc156dd987a"
default-features = false
features = [
"multi-threaded-cf",
@ -399,33 +355,13 @@ features = [
"bzip2",
]
[workspace.dependencies.sha2]
version = "0.10.8"
[workspace.dependencies.sanitize-filename]
version = "0.6.0"
[workspace.dependencies.sd-notify]
version = "0.4.5"
default-features = false
[workspace.dependencies.sha1]
version = "0.10.6"
default-features = false
# optional opentelemetry, performance measurements, flamegraphs, etc for performance measurements and monitoring
[workspace.dependencies.opentelemetry]
version = "0.21.0"
[workspace.dependencies.tracing-flame]
version = "0.2.0"
[workspace.dependencies.tracing-opentelemetry]
version = "0.22.0"
[workspace.dependencies.opentelemetry_sdk]
version = "0.21.2"
features = ["rt-tokio"]
[workspace.dependencies.opentelemetry-jaeger]
version = "0.20.0"
features = ["rt-tokio"]
# optional sentry metrics for crash/panic reporting
[workspace.dependencies.sentry]
version = "0.37.0"
default-features = false
@ -442,149 +378,226 @@ features = [
"log",
]
[workspace.dependencies.sentry-tracing]
version = "0.37.0"
[workspace.dependencies.sentry-tower]
version = "0.37.0"
# jemalloc usage
[workspace.dependencies.tikv-jemalloc-sys]
git = "https://github.com/girlbossceo/jemallocator"
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
[workspace.dependencies.sentry-tracing]
version = "0.37.0"
[workspace.dependencies.serde]
version = "1.0.219"
default-features = false
features = ["rc"]
[workspace.dependencies.serde_html_form]
version = "0.2.6"
[workspace.dependencies.serde_json]
version = "1.0.140"
default-features = false
features = ["raw_value"]
[workspace.dependencies.serde_regex]
version = "1.1.0"
[workspace.dependencies.serde_yaml]
version = "0.9.34"
[workspace.dependencies.sha1]
version = "0.10.6"
default-features = false
[workspace.dependencies.sha2]
version = "0.10.8"
default-features = false
[workspace.dependencies.smallstr]
version = "0.3"
features = [
"background_threads_runtime_support",
"unprefixed_malloc_on_supported_platforms",
]
[workspace.dependencies.tikv-jemallocator]
git = "https://github.com/girlbossceo/jemallocator"
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
default-features = false
features = [
"background_threads_runtime_support",
"unprefixed_malloc_on_supported_platforms",
]
[workspace.dependencies.tikv-jemalloc-ctl]
git = "https://github.com/girlbossceo/jemallocator"
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
default-features = false
features = ["use_std"]
[workspace.dependencies.console-subscriber]
version = "0.4"
[workspace.dependencies.nix]
version = "0.29.0"
default-features = false
features = ["resource"]
[workspace.dependencies.sd-notify]
version = "0.4.5"
default-features = false
[workspace.dependencies.hardened_malloc-rs]
version = "0.1.2"
default-features = false
features = [
"static",
"gcc",
"light",
"ffi",
"std",
"union",
]
[workspace.dependencies.rustyline-async]
version = "0.4.3"
[workspace.dependencies.smallvec]
version = "1.14.0"
features = [
"const_generics",
"const_new",
"serde",
"union",
"write",
]
[workspace.dependencies.syn]
version = "2.0"
default-features = false
features = [
"extra-traits",
"full",
]
[workspace.dependencies.termimad]
version = "0.31.2"
default-features = false
[workspace.dependencies.checked_ops]
version = "0.1"
[workspace.dependencies.syn]
version = "2.0"
[workspace.dependencies.thiserror]
version = "2.0.12"
default-features = false
features = ["full", "extra-traits"]
[workspace.dependencies.quote]
version = "1.0"
[workspace.dependencies.tikv-jemallocator]
git = "https://github.com/matrix-construct/jemallocator"
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
default-features = false
features = [
"background_threads_runtime_support",
"unprefixed_malloc_on_supported_platforms",
]
[workspace.dependencies.proc-macro2]
version = "1.0"
[workspace.dependencies.tikv-jemalloc-ctl]
git = "https://github.com/matrix-construct/jemallocator"
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
default-features = false
features = ["use_std"]
[workspace.dependencies.bytesize]
version = "2.0"
[workspace.dependencies.tikv-jemalloc-sys]
git = "https://github.com/matrix-construct/jemallocator"
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
default-features = false
features = [
"background_threads_runtime_support",
"unprefixed_malloc_on_supported_platforms",
]
[workspace.dependencies.core_affinity]
version = "0.8.1"
[workspace.dependencies.tokio]
version = "1.44.2"
default-features = false
features = [
"fs",
"net",
"macros",
"sync",
"signal",
"time",
"rt-multi-thread",
"io-util",
"tracing",
]
[workspace.dependencies.libc]
version = "0.2"
[workspace.dependencies.tokio-metrics]
version = "0.4.0"
[workspace.dependencies.num-traits]
version = "0.2"
[workspace.dependencies.toml]
version = "0.8.14"
default-features = false
features = ["parse"]
[workspace.dependencies.minicbor]
version = "0.26.3"
features = ["std"]
[workspace.dependencies.tower]
version = "0.5.2"
default-features = false
features = ["util"]
[workspace.dependencies.minicbor-serde]
version = "0.4.1"
features = ["std"]
[workspace.dependencies.tower-http]
version = "0.6.2"
default-features = false
features = [
"add-extension",
"catch-panic",
"cors",
"sensitive-headers",
"set-header",
"timeout",
"trace",
"util",
]
[workspace.dependencies.maplit]
version = "1.0.2"
[workspace.dependencies.tracing]
version = "0.1.41"
default-features = false
[workspace.dependencies.tracing-core]
version = "0.1.33"
default-features = false
[workspace.dependencies.tracing-flame]
version = "0.2.0"
[workspace.dependencies.tracing-opentelemetry]
version = "0.22.0"
[workspace.dependencies.tracing-subscriber]
version = "0.3.19"
default-features = false
features = [
"ansi",
"env-filter",
"fmt",
"std",
"tracing",
"tracing-log",
]
[workspace.dependencies.url]
version = "2.5.4"
default-features = false
features = ["serde"]
[workspace.dependencies.webpage]
version = "2.0.1"
default-features = false
#
# Patches
#
# backport of [https://github.com/tokio-rs/tracing/pull/2956] to the 0.1.x branch of tracing.
# we can switch back to upstream if #2956 is merged and backported in the upstream repo.
# backport of [https://github.com/tokio-rs/tracing/pull/2956] to the 0.1.x
# branch of tracing. we can switch back to upstream if #2956 is merged and
# backported in the upstream repo.
# https://github.com/girlbossceo/tracing/commit/b348dca742af641c47bc390261f60711c2af573c
[patch.crates-io.tracing-subscriber]
git = "https://github.com/girlbossceo/tracing"
git = "https://github.com/matrix-construct/tracing"
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
[patch.crates-io.tracing]
git = "https://github.com/girlbossceo/tracing"
git = "https://github.com/matrix-construct/tracing"
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
[patch.crates-io.tracing-core]
git = "https://github.com/girlbossceo/tracing"
git = "https://github.com/matrix-construct/tracing"
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
[patch.crates-io.tracing-log]
git = "https://github.com/girlbossceo/tracing"
git = "https://github.com/matrix-construct/tracing"
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
# 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
# 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
[patch.crates-io.rustyline-async]
git = "https://github.com/girlbossceo/rustyline-async"
git = "https://github.com/matrix-construct/rustyline-async"
rev = "deaeb0694e2083f53d363b648da06e10fc13900c"
# adds LIFO queue scheduling; this should be updated with PR progress.
[patch.crates-io.event-listener]
git = "https://github.com/girlbossceo/event-listener"
git = "https://github.com/matrix-construct/event-listener"
rev = "fe4aebeeaae435af60087ddd56b573a2e0be671d"
[patch.crates-io.async-channel]
git = "https://github.com/girlbossceo/async-channel"
git = "https://github.com/matrix-construct/async-channel"
rev = "92e5e74063bf2a3b10414bcc8a0d68b235644280"
# adds affinity masks for selecting more than one core at a time
[patch.crates-io.core_affinity]
git = "https://github.com/girlbossceo/core_affinity_rs"
git = "https://github.com/matrix-construct/core_affinity_rs"
rev = "9c8e51510c35077df888ee72a36b4b05637147da"
# reverts hyperium#148 conflicting with our delicate federation resolver hooks
[patch.crates-io.hyper-util]
git = "https://github.com/girlbossceo/hyper-util"
git = "https://github.com/matrix-construct/hyper-util"
rev = "e4ae7628fe4fcdacef9788c4c8415317a4489941"
# 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]
git = "https://github.com/girlbossceo/resolv-conf"
git = "https://github.com/matrix-construct/resolv-conf"
rev = "200e958941d522a70c5877e3d846f55b5586c68d"
#