Actually fix bad debug logging rejecting device list & signing key transactions (#12098)
This commit is contained in:
parent
9e83521af8
commit
5565f454e1
|
@ -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`.
|
|
@ -110,7 +110,7 @@ class FederationSendServlet(BaseFederationServerServlet):
|
||||||
if issue_8631_logger.isEnabledFor(logging.DEBUG):
|
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 = [
|
device_list_updates = [
|
||||||
edu.content
|
edu.get("content", {})
|
||||||
for edu in transaction_data.get("edus", [])
|
for edu in transaction_data.get("edus", [])
|
||||||
if edu.get("edu_type") in DEVICE_UPDATE_EDUS
|
if edu.get("edu_type") in DEVICE_UPDATE_EDUS
|
||||||
]
|
]
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from tests import unittest
|
from tests import unittest
|
||||||
from tests.unittest import override_config
|
from tests.unittest import DEBUG, override_config
|
||||||
|
|
||||||
|
|
||||||
class RoomDirectoryFederationTests(unittest.FederatingHomeserverTestCase):
|
class RoomDirectoryFederationTests(unittest.FederatingHomeserverTestCase):
|
||||||
|
@ -38,3 +38,21 @@ class RoomDirectoryFederationTests(unittest.FederatingHomeserverTestCase):
|
||||||
"/_matrix/federation/v1/publicRooms",
|
"/_matrix/federation/v1/publicRooms",
|
||||||
)
|
)
|
||||||
self.assertEqual(200, channel.code)
|
self.assertEqual(200, channel.code)
|
||||||
|
|
||||||
|
@DEBUG
|
||||||
|
def test_edu_debugging_doesnt_explode(self):
|
||||||
|
"""Sanity check incoming federation succeeds with `synapse.debug_8631` enabled.
|
||||||
|
|
||||||
|
Remove this when we strip out issue_8631_logger.
|
||||||
|
"""
|
||||||
|
channel = self.make_signed_federation_request(
|
||||||
|
"PUT",
|
||||||
|
"/_matrix/federation/v1/send/txn_id_1234/",
|
||||||
|
content={
|
||||||
|
"edus": [
|
||||||
|
{"edu_type": "m.device_list_update", "content": {"foo": "bar"}}
|
||||||
|
],
|
||||||
|
"pdus": [],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.assertEqual(200, channel.code)
|
||||||
|
|
Loading…
Reference in New Issue