49 lines
2.1 KiB
Diff
49 lines
2.1 KiB
Diff
|
From a160ac1d4e42e2a753172f939bead7d6c21ce0cd Mon Sep 17 00:00:00 2001
|
||
|
From: David Robertson <davidr@element.io>
|
||
|
Date: Wed, 2 Feb 2022 16:25:17 +0000
|
||
|
Subject: [PATCH 3/3] Fix losing incoming EDUs if debug logging enabled
|
||
|
(#11890)
|
||
|
|
||
|
* Fix losing incoming EDUs if debug logging enabled
|
||
|
|
||
|
Fixes #11889. Homeservers should only be affected if the
|
||
|
`synapse.8631_debug` logger was enabled for DEBUG mode.
|
||
|
|
||
|
I am not sure if this merits a bugfix release: I think the logging can
|
||
|
be disabled in config if anyone is affected? But it is still pretty bad.
|
||
|
---
|
||
|
changelog.d/11890.bugfix | 1 +
|
||
|
synapse/federation/transport/server/federation.py | 4 ++--
|
||
|
2 files changed, 3 insertions(+), 2 deletions(-)
|
||
|
create mode 100644 changelog.d/11890.bugfix
|
||
|
|
||
|
diff --git a/changelog.d/11890.bugfix b/changelog.d/11890.bugfix
|
||
|
new file mode 100644
|
||
|
index 0000000000..6b696692e3
|
||
|
--- /dev/null
|
||
|
+++ b/changelog.d/11890.bugfix
|
||
|
@@ -0,0 +1 @@
|
||
|
+Fix a bug introduced in Synapse 1.51.0rc1 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for `synapse.8631_debug`.
|
||
|
\ No newline at end of file
|
||
|
diff --git a/synapse/federation/transport/server/federation.py b/synapse/federation/transport/server/federation.py
|
||
|
index 9c1ad5851f..d86dfede4e 100644
|
||
|
--- a/synapse/federation/transport/server/federation.py
|
||
|
+++ b/synapse/federation/transport/server/federation.py
|
||
|
@@ -109,11 +109,11 @@ class FederationSendServlet(BaseFederationServerServlet):
|
||
|
)
|
||
|
|
||
|
if issue_8631_logger.isEnabledFor(logging.DEBUG):
|
||
|
- DEVICE_UPDATE_EDUS = {"m.device_list_update", "m.signing_key_update"}
|
||
|
+ DEVICE_UPDATE_EDUS = ["m.device_list_update", "m.signing_key_update"]
|
||
|
device_list_updates = [
|
||
|
edu.content
|
||
|
for edu in transaction_data.get("edus", [])
|
||
|
- if edu.edu_type in DEVICE_UPDATE_EDUS
|
||
|
+ if edu.get("edu_type") in DEVICE_UPDATE_EDUS
|
||
|
]
|
||
|
if device_list_updates:
|
||
|
issue_8631_logger.debug(
|
||
|
--
|
||
|
2.34.1
|
||
|
|