Bump some dependencies

This commit is contained in:
Timo Kösters 2022-10-09 15:34:36 +02:00 committed by Nyaaori
parent 1a7893dbbd
commit 275c6b447d
No known key found for this signature in database
GPG key ID: E7819C3ED4D1F82E
6 changed files with 518 additions and 633 deletions

1092
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -28,7 +28,7 @@ ruma = { git = "https://github.com/ruma/ruma", rev = "d614ad1422d6c4b3437ebc318c
# Async runtime and utilities # Async runtime and utilities
tokio = { version = "1.11.0", features = ["fs", "macros", "signal", "sync"] } tokio = { version = "1.11.0", features = ["fs", "macros", "signal", "sync"] }
# Used for storing data permanently # Used for storing data permanently
sled = { version = "0.34.7", features = ["compression", "no_metrics"], optional = true } #sled = { version = "0.34.7", features = ["compression", "no_metrics"], optional = true }
#sled = { git = "https://github.com/spacejam/sled.git", rev = "e4640e0773595229f398438886f19bca6f7326a2", features = ["compression"] } #sled = { git = "https://github.com/spacejam/sled.git", rev = "e4640e0773595229f398438886f19bca6f7326a2", features = ["compression"] }
persy = { version = "1.0.0", optional = true, features = ["background_ops"] } persy = { version = "1.0.0", optional = true, features = ["background_ops"] }
@ -40,62 +40,62 @@ directories = "4.0.0"
# Used for ruma wrapper # Used for ruma wrapper
serde_json = { version = "1.0.68", features = ["raw_value"] } serde_json = { version = "1.0.68", features = ["raw_value"] }
# Used for appservice registration files # Used for appservice registration files
serde_yaml = "0.8.21" serde_yaml = "0.9.13"
# Used for pdu definition # Used for pdu definition
serde = { version = "1.0.130", features = ["rc"] } serde = { version = "1.0.130", features = ["rc"] }
# Used for secure identifiers # Used for secure identifiers
rand = "0.8.4" rand = "0.8.4"
# Used to hash passwords # Used to hash passwords
rust-argon2 = "0.8.3" rust-argon2 = "1.0.0"
# Used to send requests # Used to send requests
reqwest = { default-features = false, features = ["rustls-tls-native-roots", "socks"], git = "https://github.com/timokoesters/reqwest", rev = "57b7cf4feb921573dfafad7d34b9ac6e44ead0bd" } reqwest = { default-features = false, features = ["rustls-tls-native-roots", "socks"], git = "https://github.com/timokoesters/reqwest", rev = "57b7cf4feb921573dfafad7d34b9ac6e44ead0bd" }
# Used for conduit::Error type # Used for conduit::Error type
thiserror = "1.0.29" thiserror = "1.0.29"
# Used to generate thumbnails for images # Used to generate thumbnails for images
image = { version = "0.23.14", default-features = false, features = ["jpeg", "png", "gif"] } image = { version = "0.24.4", default-features = false, features = ["jpeg", "png", "gif"] }
# Used to encode server public key # Used to encode server public key
base64 = "0.13.0" base64 = "0.13.0"
# Used when hashing the state # Used when hashing the state
ring = "0.16.20" ring = "0.16.20"
# Used when querying the SRV record of other servers # Used when querying the SRV record of other servers
trust-dns-resolver = "0.20.3" trust-dns-resolver = "0.22.0"
# Used to find matching events for appservices # Used to find matching events for appservices
regex = "1.5.4" regex = "1.5.4"
# jwt jsonwebtokens # jwt jsonwebtokens
jsonwebtoken = "7.2.0" jsonwebtoken = "8.1.1"
# Performance measurements # Performance measurements
tracing = { version = "0.1.27", features = [] } tracing = { version = "0.1.27", features = [] }
tracing-subscriber = "0.2.22" tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
tracing-flame = "0.1.0" tracing-flame = "0.2.0"
opentelemetry = { version = "0.16.0", features = ["rt-tokio"] } opentelemetry = { version = "0.18.0", features = ["rt-tokio"] }
opentelemetry-jaeger = { version = "0.15.0", features = ["rt-tokio"] } opentelemetry-jaeger = { version = "0.17.0", features = ["rt-tokio"] }
lru-cache = "0.1.2" lru-cache = "0.1.2"
rusqlite = { version = "0.25.3", optional = true, features = ["bundled"] } rusqlite = { version = "0.28.0", optional = true, features = ["bundled"] }
parking_lot = { version = "0.11.2", optional = true } parking_lot = { version = "0.12.1", optional = true }
crossbeam = { version = "0.8.1", optional = true } crossbeam = { version = "0.8.1", optional = true }
num_cpus = "1.13.0" num_cpus = "1.13.0"
threadpool = "1.8.1" threadpool = "1.8.1"
heed = { git = "https://github.com/timokoesters/heed.git", rev = "f6f825da7fb2c758867e05ad973ef800a6fe1d5d", optional = true } heed = { git = "https://github.com/timokoesters/heed.git", rev = "f6f825da7fb2c758867e05ad973ef800a6fe1d5d", optional = true }
rocksdb = { version = "0.17.0", default-features = true, features = ["multi-threaded-cf", "zstd"], optional = true } rocksdb = { version = "0.19.0", default-features = true, features = ["multi-threaded-cf", "zstd"], optional = true }
thread_local = "1.1.3" thread_local = "1.1.3"
# used for TURN server authentication # used for TURN server authentication
hmac = "0.11.0" hmac = "0.12.1"
sha-1 = "0.9.8" sha-1 = "0.10.0"
# used for conduit's CLI and admin room command parsing # used for conduit's CLI and admin room command parsing
clap = { version = "3.2.5", default-features = false, features = ["std", "derive"] } clap = { version = "4.0.11", default-features = false, features = ["std", "derive"] }
futures-util = { version = "0.3.17", default-features = false } futures-util = { version = "0.3.17", default-features = false }
# Used for reading the configuration from conduit.toml & environment variables # Used for reading the configuration from conduit.toml & environment variables
figment = { version = "0.10.6", features = ["env", "toml"] } figment = { version = "0.10.6", features = ["env", "toml"] }
tikv-jemalloc-ctl = { version = "0.4.2", features = ["use_std"], optional = true } tikv-jemalloc-ctl = { version = "0.5.0", features = ["use_std"], optional = true }
tikv-jemallocator = { version = "0.4.1", features = ["unprefixed_malloc_on_supported_platforms"], optional = true } tikv-jemallocator = { version = "0.5.0", features = ["unprefixed_malloc_on_supported_platforms"], optional = true }
lazy_static = "1.4.0" lazy_static = "1.4.0"
async-trait = "0.1.57" async-trait = "0.1.57"
[features] [features]
default = ["conduit_bin", "backend_sqlite", "backend_rocksdb", "jemalloc"] default = ["conduit_bin", "backend_sqlite", "jemalloc"]
backend_sled = ["sled"] #backend_sled = ["sled"]
backend_persy = ["persy", "parking_lot"] backend_persy = ["persy", "parking_lot"]
backend_sqlite = ["sqlite"] backend_sqlite = ["sqlite"]
backend_heed = ["heed", "crossbeam"] backend_heed = ["heed", "crossbeam"]

View file

@ -1,5 +1,5 @@
use crate::{services, Result, Ruma}; use crate::{services, Result, Ruma};
use hmac::{Hmac, Mac, NewMac}; use hmac::{Hmac, Mac};
use ruma::{api::client::voip::get_turn_server_info, SecondsSinceUnixEpoch}; use ruma::{api::client::voip::get_turn_server_info, SecondsSinceUnixEpoch};
use sha1::Sha1; use sha1::Sha1;
use std::time::{Duration, SystemTime}; use std::time::{Duration, SystemTime};

View file

@ -86,7 +86,7 @@ async fn main() {
if config.allow_jaeger { if config.allow_jaeger {
opentelemetry::global::set_text_map_propagator(opentelemetry_jaeger::Propagator::new()); opentelemetry::global::set_text_map_propagator(opentelemetry_jaeger::Propagator::new());
let tracer = opentelemetry_jaeger::new_pipeline() let tracer = opentelemetry_jaeger::new_agent_pipeline()
.install_batch(opentelemetry::runtime::Tokio) .install_batch(opentelemetry::runtime::Tokio)
.unwrap(); .unwrap();

View file

@ -40,7 +40,7 @@ pub struct Service {
pub config: Config, pub config: Config,
keypair: Arc<ruma::signatures::Ed25519KeyPair>, keypair: Arc<ruma::signatures::Ed25519KeyPair>,
dns_resolver: TokioAsyncResolver, dns_resolver: TokioAsyncResolver,
jwt_decoding_key: Option<jsonwebtoken::DecodingKey<'static>>, jwt_decoding_key: Option<jsonwebtoken::DecodingKey>,
federation_client: reqwest::Client, federation_client: reqwest::Client,
default_client: reqwest::Client, default_client: reqwest::Client,
pub stable_room_versions: Vec<RoomVersionId>, pub stable_room_versions: Vec<RoomVersionId>,
@ -105,7 +105,7 @@ impl Service {
let jwt_decoding_key = config let jwt_decoding_key = config
.jwt_secret .jwt_secret
.as_ref() .as_ref()
.map(|secret| jsonwebtoken::DecodingKey::from_secret(secret.as_bytes()).into_static()); .map(|secret| jsonwebtoken::DecodingKey::from_secret(secret.as_bytes()));
let default_client = reqwest_client_builder(&config)?.build()?; let default_client = reqwest_client_builder(&config)?.build()?;
let name_override = Arc::clone(&tls_name_override); let name_override = Arc::clone(&tls_name_override);
@ -250,7 +250,7 @@ impl Service {
&self.dns_resolver &self.dns_resolver
} }
pub fn jwt_decoding_key(&self) -> Option<&jsonwebtoken::DecodingKey<'_>> { pub fn jwt_decoding_key(&self) -> Option<&jsonwebtoken::DecodingKey> {
self.jwt_decoding_key.as_ref() self.jwt_decoding_key.as_ref()
} }

View file

@ -1,8 +1,10 @@
mod data; mod data;
use std::io::Cursor;
pub use data::Data; pub use data::Data;
use crate::{services, Result}; use crate::{services, Result};
use image::{imageops::FilterType, GenericImageView}; use image::imageops::FilterType;
use tokio::{ use tokio::{
fs::File, fs::File,
@ -186,7 +188,10 @@ impl Service {
}; };
let mut thumbnail_bytes = Vec::new(); let mut thumbnail_bytes = Vec::new();
thumbnail.write_to(&mut thumbnail_bytes, image::ImageOutputFormat::Png)?; thumbnail.write_to(
&mut Cursor::new(&mut thumbnail_bytes),
image::ImageOutputFormat::Png,
)?;
// Save thumbnail in database so we don't have to generate it again next time // Save thumbnail in database so we don't have to generate it again next time
let thumbnail_key = self.db.create_file_metadata( let thumbnail_key = self.db.create_file_metadata(