From 4ad50e2708aa2543f17cd2a3a42e7ec6f0c0d40f Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 30 Aug 2024 22:59:38 -0700 Subject: [PATCH] only log banned users if they are local This was the intent of f03b6cde293088db7db6c7a6e148f93358cdf980, but it was missing the check that the user is actually local, and so was logging *all* banned users. --- book/changelog.md | 3 ++- src/service/rooms/timeline.rs | 37 ++++++++++++++++++++--------------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/book/changelog.md b/book/changelog.md index 7a3e9c1f..2e1656f8 100644 --- a/book/changelog.md +++ b/book/changelog.md @@ -203,4 +203,5 @@ This will be the first release of Grapevine since it was forked from Conduit 13. Support building nix packages without IFD ([!73](https://gitlab.computer.surgery/matrix/grapevine-fork/-/merge_requests/73)) 14. Report local users getting banned in the server logs and admin room. - ([!65](https://gitlab.computer.surgery/matrix/grapevine-fork/-/merge_requests/65)) + ([!65](https://gitlab.computer.surgery/matrix/grapevine-fork/-/merge_requests/65), + [!84](https://gitlab.computer.surgery/matrix/grapevine-fork/-/merge_requests/84)) diff --git a/src/service/rooms/timeline.rs b/src/service/rooms/timeline.rs index 92202bb5..b3605bfb 100644 --- a/src/service/rooms/timeline.rs +++ b/src/service/rooms/timeline.rs @@ -477,24 +477,29 @@ impl Service { if membership == MembershipState::Ban { let (room, user) = (&pdu.room_id, &target_user_id); - info!( - %user, - %room, - reason, - "User has been banned from room" - ); + if user.server_name() + == services().globals.server_name() + { + info!( + %user, + %room, + reason, + "User has been banned from room" + ); - let reason = match reason.filter(|s| !s.is_empty()) { - Some(s) => format!(": {s}"), - None => String::new(), - }; + let reason = match reason.filter(|s| !s.is_empty()) + { + Some(s) => format!(": {s}"), + None => String::new(), + }; - services().admin.send_message( - RoomMessageEventContent::notice_plain(format!( - "User {user} has been banned from room \ - {room}{reason}", - )), - ); + services().admin.send_message( + RoomMessageEventContent::notice_plain(format!( + "User {user} has been banned from room \ + {room}{reason}", + )), + ); + } } // Update our membership info, we do this here incase a user