From 8481efb4825705c5942b175de0ce350d5559a709 Mon Sep 17 00:00:00 2001 From: Erwan Leboucher Date: Sat, 1 Aug 2026 23:46:28 +0200 Subject: [PATCH] chore(deps): Update Ruma --- Cargo.lock | 22 +++++++++++----------- Cargo.toml | 2 +- changelog.d/+9026b8d6.misc.md | 1 + src/service/federation/execute.rs | 25 ++++++++++++------------- src/service/pusher/mod.rs | 10 ++++++---- src/service/sending/antispam.rs | 15 +++++++++------ src/service/sending/appservice.rs | 15 +++++++++------ 7 files changed, 49 insertions(+), 41 deletions(-) create mode 100644 changelog.d/+9026b8d6.misc.md diff --git a/Cargo.lock b/Cargo.lock index dfc61ddea..c69624620 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4567,7 +4567,7 @@ dependencies = [ [[package]] name = "ruma" version = "0.16.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "assign", "js_int", @@ -4586,7 +4586,7 @@ dependencies = [ [[package]] name = "ruma-appservice-api" version = "0.16.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "js_int", "ruma-common", @@ -4598,7 +4598,7 @@ dependencies = [ [[package]] name = "ruma-client-api" version = "0.24.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "as_variant", "assign", @@ -4620,7 +4620,7 @@ dependencies = [ [[package]] name = "ruma-common" version = "0.19.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "as_variant", "base64 0.22.1", @@ -4653,7 +4653,7 @@ dependencies = [ [[package]] name = "ruma-events" version = "0.34.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "as_variant", "indexmap 2.14.0", @@ -4674,7 +4674,7 @@ dependencies = [ [[package]] name = "ruma-federation-api" version = "0.15.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "bytes", "headers", @@ -4697,7 +4697,7 @@ dependencies = [ [[package]] name = "ruma-identifiers-validation" version = "0.12.1" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "js_int", "thiserror 2.0.19", @@ -4706,7 +4706,7 @@ dependencies = [ [[package]] name = "ruma-macros" version = "0.19.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "as_variant", "cfg-if", @@ -4722,7 +4722,7 @@ dependencies = [ [[package]] name = "ruma-push-gateway-api" version = "0.15.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "js_int", "ruma-common", @@ -4734,7 +4734,7 @@ dependencies = [ [[package]] name = "ruma-signatures" version = "0.21.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "base64 0.22.1", "ed25519-dalek", @@ -4751,7 +4751,7 @@ dependencies = [ [[package]] name = "ruma-state-res" version = "0.17.0" -source = "git+https://github.com/ruma/ruma.git?rev=e7284c31da289f0a3b885191f5b2b6b307fa059f#e7284c31da289f0a3b885191f5b2b6b307fa059f" +source = "git+https://github.com/ruma/ruma.git?rev=c1100793d2fd464be34052773360f3f3773d0fc4#c1100793d2fd464be34052773360f3f3773d0fc4" dependencies = [ "js_int", "ruma-common", diff --git a/Cargo.toml b/Cargo.toml index 52fd81528..2f33a9dc2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -343,7 +343,7 @@ version = "1.1.1" # Used for matrix spec type definitions and helpers [workspace.dependencies.ruma] git = "https://github.com/ruma/ruma.git" -rev = "e7284c31da289f0a3b885191f5b2b6b307fa059f" +rev = "c1100793d2fd464be34052773360f3f3773d0fc4" features = [ "appservice-api-c", "client-api", diff --git a/changelog.d/+9026b8d6.misc.md b/changelog.d/+9026b8d6.misc.md new file mode 100644 index 000000000..7f97f6c2f --- /dev/null +++ b/changelog.d/+9026b8d6.misc.md @@ -0,0 +1 @@ +Updated Ruma dependencies. Contributed by @eleboucher. diff --git a/src/service/federation/execute.rs b/src/service/federation/execute.rs index 562dcaa35..d8e10d3e8 100644 --- a/src/service/federation/execute.rs +++ b/src/service/federation/execute.rs @@ -1,6 +1,5 @@ use std::{borrow::Cow, fmt::Debug, mem, time::Instant}; -use bytes::Bytes; use conduwuit::{ Err, Error, Result, debug, debug_error, debug_info, debug_warn, err, trace, utils::response::LimitReadExt, @@ -11,7 +10,8 @@ use resolvematrix::resolution::Resolution; use ruma::{ ServerName, api::{ - EndpointError, IncomingResponse, OutgoingRequest, OutgoingRequestExt, SupportedVersions, + EndpointError, IncomingResponseExt, OutgoingRequest, OutgoingRequestExt, + SupportedVersions, auth_scheme::{AuthScheme, NoAuthentication}, error::Error as RumaError, federation::authentication::{ServerSignatures, ServerSignaturesInput}, @@ -232,8 +232,12 @@ impl super::Service { let response = into_http_response(dest, actual, method, url, response, size_limit).await?; - T::IncomingResponse::try_from_http_response(response) - .map_err(|e| err!(BadServerResponse("Server returned bad 200 response: {e:?}"))) + let (parts, body) = response.into_parts(); + T::IncomingResponse::try_from_http_response(http::Response::from_parts( + parts, + body.as_ref(), + )) + .map_err(|e| err!(BadServerResponse("Server returned bad 200 response: {e:?}"))) } } @@ -244,7 +248,7 @@ async fn into_http_response( url: &Url, mut response: Response, max_size: u64, -) -> Result> { +) -> Result>> { let status = response.status(); trace!( %status, %method, @@ -267,20 +271,15 @@ async fn into_http_response( trace!("Waiting for response body..."); let http_response = http_response_builder - .body( - response - .limit_read(max_size) - .await - .unwrap_or_default() - .into(), - ) + .body(response.limit_read(max_size).await.unwrap_or_default()) .expect("reqwest body is valid http body"); debug!("Got {status:?} for {method} {url}"); if !status.is_success() { + let (parts, body) = http_response.into_parts(); return Err(Error::Federation( dest.to_owned(), - RumaError::from_http_response(http_response), + RumaError::from_http_response(http::Response::from_parts(parts, body.as_ref())), )); } diff --git a/src/service/pusher/mod.rs b/src/service/pusher/mod.rs index 150752ce4..437006d00 100644 --- a/src/service/pusher/mod.rs +++ b/src/service/pusher/mod.rs @@ -13,7 +13,7 @@ use ipaddress::IPAddress; use ruma::{ DeviceId, OwnedDeviceId, RoomId, UInt, UserId, api::{ - IncomingResponse, OutgoingRequest, OutgoingRequestExt, + IncomingResponseExt, OutgoingRequest, OutgoingRequestExt, auth_scheme::NoAuthentication, client::push::{Pusher, PusherKind, set_pusher}, path_builder::SinglePath, @@ -266,10 +266,12 @@ impl Service { ))); } + let (parts, body) = http_response_builder + .body(body) + .expect("reqwest body is valid http body") + .into_parts(); let response = T::IncomingResponse::try_from_http_response( - http_response_builder - .body(body) - .expect("reqwest body is valid http body"), + http::Response::from_parts(parts, body.as_ref()), ); response.map_err(|e| { err!(BadServerResponse(warn!( diff --git a/src/service/sending/antispam.rs b/src/service/sending/antispam.rs index 76198dba3..5bb6463ea 100644 --- a/src/service/sending/antispam.rs +++ b/src/service/sending/antispam.rs @@ -4,7 +4,7 @@ use bytes::BytesMut; use conduwuit::{Err, Result, debug_info, err, utils::response::LimitReadExt}; use reqwest::Client; use ruma::api::{ - IncomingResponse, OutgoingRequest, OutgoingRequestExt, + IncomingResponseExt, OutgoingRequest, OutgoingRequestExt, auth_scheme::{AppserviceToken, SendAccessToken}, path_builder::VersionHistory, }; @@ -76,11 +76,14 @@ where }; } - let response = T::IncomingResponse::try_from_http_response( - http_response_builder - .body(body) - .expect("reqwest body is valid http body"), - ); + let (parts, body) = http_response_builder + .body(body) + .expect("reqwest body is valid http body") + .into_parts(); + let response = T::IncomingResponse::try_from_http_response(http::Response::from_parts( + parts, + body.as_ref(), + )); response.map_err(|e| { err!(BadServerResponse(warn!( diff --git a/src/service/sending/appservice.rs b/src/service/sending/appservice.rs index d5ad224d2..63a82421a 100644 --- a/src/service/sending/appservice.rs +++ b/src/service/sending/appservice.rs @@ -5,7 +5,7 @@ use conduwuit::{ Err, Result, debug_error, err, trace, utils, utils::response::LimitReadExt, warn, }; use ruma::api::{ - IncomingResponse, OutgoingRequest, OutgoingRequestExt, + IncomingResponseExt, OutgoingRequest, OutgoingRequestExt, appservice::Registration, auth_scheme::{AccessToken, SendAccessToken}, path_builder::SinglePath, @@ -97,11 +97,14 @@ impl super::Service { ))); } - let response = T::IncomingResponse::try_from_http_response( - http_response_builder - .body(body) - .expect("reqwest body is valid http body"), - ); + let (parts, body) = http_response_builder + .body(body) + .expect("reqwest body is valid http body") + .into_parts(); + let response = T::IncomingResponse::try_from_http_response(http::Response::from_parts( + parts, + body.as_ref(), + )); response.map(Some).map_err(|e| { err!(BadServerResponse(warn!(