From 9bda5a43e5ac742fb6b30ae14c1d1e89c0a68c36 Mon Sep 17 00:00:00 2001 From: strawberry Date: Sat, 11 Jan 2025 00:24:51 -0500 Subject: [PATCH] fix /kick endpoint unbanning banned users Signed-off-by: strawberry --- src/api/client/membership.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/api/client/membership.rs b/src/api/client/membership.rs index 4046b493..0c493a37 100644 --- a/src/api/client/membership.rs +++ b/src/api/client/membership.rs @@ -439,6 +439,16 @@ pub(crate) async fn kick_user_route( return Ok(kick_user::v3::Response::new()); }; + if !matches!( + event.membership, + MembershipState::Invite | MembershipState::Knock | MembershipState::Join, + ) { + return Err!(Request(Forbidden( + "Cannot kick a user who is not apart of the room (current membership: {})", + event.membership + ))); + } + services .rooms .timeline @@ -527,7 +537,7 @@ pub(crate) async fn unban_user_route( if current_member_content.membership != MembershipState::Ban { return Err!(Request(Forbidden( - "Cannot ban a user who is not banned (current membership: {})", + "Cannot unban a user who is not banned (current membership: {})", current_member_content.membership ))); }