fixup! feat(federation): support /make_join and /send_join for restricted rooms

only return event if we added our own signature
merge-requests/618/head
Matthias Ahouansou 1 month ago
parent 4a6805a517
commit 946216e9c6
No known key found for this signature in database

@ -1712,12 +1712,13 @@ async fn create_join_event(
));
}
if event_content
let sign_join_event = event_content
.join_authorized_via_users_server
.map(|user| user.server_name() == services().globals.server_name())
.unwrap_or_default()
&& user_can_perform_restricted_join(&sender, room_id, &room_version_id).unwrap_or_default()
{
&& user_can_perform_restricted_join(&sender, room_id, &room_version_id).unwrap_or_default();
if sign_join_event {
ruma::signatures::hash_and_sign_event(
services().globals.server_name().as_str(),
services().globals.keypair(),
@ -1795,10 +1796,14 @@ async fn create_join_event(
.map(PduEvent::convert_to_outgoing_federation_event)
.collect(),
// Event field is required if the room version supports restricted join rules.
event: Some(
to_raw_value(&CanonicalJsonValue::Object(value))
.expect("To raw json should not fail since only change was adding signature"),
),
event: if sign_join_event {
Some(
to_raw_value(&CanonicalJsonValue::Object(value))
.expect("To raw json should not fail since only change was adding signature"),
)
} else {
None
},
})
}

Loading…
Cancel
Save