From 7ede1d0536088a9a465ee17e948d0739a137f101 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Fri, 18 Jun 2021 18:32:24 +0100 Subject: [PATCH 1/2] Check third party rules before persisting knocks over federation --- synapse/handlers/federation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py index 0bfb25802af2..1b566dbf2dad 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py @@ -2086,8 +2086,6 @@ async def on_send_knock_request( context = await self.state_handler.compute_event_context(event) - await self._auth_and_persist_event(origin, event, context) - event_allowed = await self.third_party_event_rules.check_event_allowed( event, context ) @@ -2097,6 +2095,8 @@ async def on_send_knock_request( 403, "This event is not allowed in this context", Codes.FORBIDDEN ) + await self._auth_and_persist_event(origin, event, context) + return context async def get_state_for_pdu(self, room_id: str, event_id: str) -> List[EventBase]: From 96f5299274d885f6e071593b641ec89e76ba109e Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Fri, 18 Jun 2021 18:35:31 +0100 Subject: [PATCH 2/2] Changelog --- changelog.d/10212.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/10212.feature diff --git a/changelog.d/10212.feature b/changelog.d/10212.feature new file mode 100644 index 000000000000..9c41140194b2 --- /dev/null +++ b/changelog.d/10212.feature @@ -0,0 +1 @@ +Implement "room knocking" as per [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403). Contributed by Sorunome and anoa. \ No newline at end of file