From a0b846baa3684568705e1fd483aa2e3e4a9d586b Mon Sep 17 00:00:00 2001 From: Olivia Lee Date: Sun, 13 Jul 2025 21:35:37 -0700 Subject: [PATCH] WIP: bump ruma to be19d07d850a69a5872dcc38f15a0bafb06828e5 (stateres refactor #2) --- Cargo.lock | 22 +++++++++++----------- Cargo.toml | 2 +- src/api/client_server/membership.rs | 16 +++++++++++++++- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9a9e4e93..3e6345f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2442,7 +2442,7 @@ dependencies = [ [[package]] name = "ruma" version = "0.12.3" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "assign", "js_int", @@ -2461,7 +2461,7 @@ dependencies = [ [[package]] name = "ruma-appservice-api" version = "0.12.2" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "js_int", "ruma-common", @@ -2473,7 +2473,7 @@ dependencies = [ [[package]] name = "ruma-client-api" version = "0.20.3" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "as_variant", "assign", @@ -2496,7 +2496,7 @@ dependencies = [ [[package]] name = "ruma-common" version = "0.15.2" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "as_variant", "base64", @@ -2527,7 +2527,7 @@ dependencies = [ [[package]] name = "ruma-events" version = "0.30.3" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "as_variant", "indexmap 2.10.0", @@ -2550,7 +2550,7 @@ dependencies = [ [[package]] name = "ruma-federation-api" version = "0.11.1" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "bytes", "headers", @@ -2572,7 +2572,7 @@ dependencies = [ [[package]] name = "ruma-identifiers-validation" version = "0.10.1" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "js_int", "thiserror 2.0.12", @@ -2581,7 +2581,7 @@ dependencies = [ [[package]] name = "ruma-macros" version = "0.15.1" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "cfg-if", "proc-macro-crate", @@ -2596,7 +2596,7 @@ dependencies = [ [[package]] name = "ruma-push-gateway-api" version = "0.11.0" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "js_int", "ruma-common", @@ -2608,7 +2608,7 @@ dependencies = [ [[package]] name = "ruma-signatures" version = "0.17.1" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "base64", "ed25519-dalek", @@ -2624,7 +2624,7 @@ dependencies = [ [[package]] name = "ruma-state-res" version = "0.13.0" -source = "git+https://github.com/ruma/ruma.git?rev=5aebd8f81fc70226940c1a46eb57ef298230d34f#5aebd8f81fc70226940c1a46eb57ef298230d34f" +source = "git+https://github.com/ruma/ruma.git?rev=be19d07d850a69a5872dcc38f15a0bafb06828e5#be19d07d850a69a5872dcc38f15a0bafb06828e5" dependencies = [ "js_int", "ruma-common", diff --git a/Cargo.toml b/Cargo.toml index 92c95947..09920058 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -145,7 +145,7 @@ xdg = "2.5.2" [dependencies.ruma] git = "https://github.com/ruma/ruma.git" -rev = "5aebd8f81fc70226940c1a46eb57ef298230d34f" +rev = "be19d07d850a69a5872dcc38f15a0bafb06828e5" features = [ "compat-server-signing-key-version", "compat-empty-string-null", diff --git a/src/api/client_server/membership.rs b/src/api/client_server/membership.rs index e0afec6b..0ffca029 100644 --- a/src/api/client_server/membership.rs +++ b/src/api/client_server/membership.rs @@ -1048,7 +1048,21 @@ async fn join_room_by_id_helper( } info!("Running send_join auth check"); - state_res::event_auth::auth_check( + state_res::check_state_independent_auth_rules( + &room_version_rules.authorization, + &parsed_join_pdu, + |event_id| + services() + .rooms + .timeline + .get_pdu(event_id) + .ok()? + ) + .map_err(|error| { + warn!(%error, "Auth check failed"); + Error::BadRequest(ErrorKind::InvalidParam, "Auth check failed") + })?; + state_res::check_state_dependent_auth_rules( &room_version_rules.authorization, &parsed_join_pdu, |k, s| {