Merge remote-tracking branch 'upstream/main' into conduwuit-changes

This commit is contained in:
strawberry 2024-03-06 15:40:07 -05:00
commit cefcb1b02f

View File

@ -700,21 +700,20 @@ fn valid_membership_change(
{ {
warn!("Join rule is not set to knock or knock_restricted, knocking is not allowed"); warn!("Join rule is not set to knock or knock_restricted, knocking is not allowed");
false false
} else { } else if sender != target_user {
// 2. If `sender` does not match `state_key`, reject. // 2. If `sender` does not match `state_key`, reject.
// 3. If the `sender`'s current membership is not `ban`, `invite`, or `join`, allow.
// 4. Otherwise, reject.
if sender != target_user {
warn!( warn!(
?sender, ?sender,
?target_user, ?target_user,
"Can't make another user join, sender did not match target" "Can't make another user knock, sender did not match target"
); );
false false
} else if matches!( } else if matches!(
sender_membership, sender_membership,
MembershipState::Ban | MembershipState::Invite | MembershipState::Join MembershipState::Ban | MembershipState::Invite | MembershipState::Join
) { ) {
// 3. If the `sender`'s current membership is not `ban`, `invite`, or `join`, allow.
// 4. Otherwise, reject.
warn!( warn!(
?target_user_membership_event_id, ?target_user_membership_event_id,
"Membership state of ban, invite or join are invalid", "Membership state of ban, invite or join are invalid",
@ -724,7 +723,6 @@ fn valid_membership_change(
true true
} }
} }
}
_ => { _ => {
warn!("Unknown membership transition"); warn!("Unknown membership transition");
false false