From 6c180a5ca3323ca276a9170b573dbb6a1fcae55b Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Thu, 6 Jul 2023 00:24:31 +0200
Subject: [PATCH] Prevent redactions of ACL and Create events, since Synapse
 prevents redaction of them anyway

---
 src/Utils.cpp | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/Utils.cpp b/src/Utils.cpp
index 26e894b93..9001bd2d8 100644
--- a/src/Utils.cpp
+++ b/src/Utils.cpp
@@ -1720,6 +1720,15 @@ utils::removeExpiredEvents()
                                     mtx::events::StateEvent<mtx::events::msg::Redacted>>(e))
                                   continue;
 
+                              // synapse protects these 2 against redaction
+                              if (std::holds_alternative<
+                                    mtx::events::StateEvent<mtx::events::state::Create>>(e))
+                                  continue;
+
+                              if (std::holds_alternative<
+                                    mtx::events::StateEvent<mtx::events::state::ServerAcl>>(e))
+                                  continue;
+
                               // skip events we don't know to protect us from mistakes.
                               if (std::holds_alternative<
                                     mtx::events::RoomEvent<mtx::events::Unknown>>(e))
@@ -1746,7 +1755,7 @@ utils::removeExpiredEvents()
                                                   .emplace(to_string(se.type), se.state_key)
                                                   .second;
                                             else
-                                                return false;
+                                                return true;
                                         },
                                         e))
                                       continue;
-- 
GitLab