summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2020-01-31 14:07:31 +0000
committerRichard van der Hoff <richard@matrix.org>2020-02-05 17:25:46 +0000
commitf84700fba8cd9345d7a1a025462c7f8650f27386 (patch)
treea24835b157cb1724ac1967fdbdcdd027c67ad323
parentMerge pull request #6840 from matrix-org/rav/federation_client_async (diff)
downloadsynapse-f84700fba8cd9345d7a1a025462c7f8650f27386.tar.xz
Pass room version object into `FederationClient.get_pdu`
-rw-r--r--synapse/federation/federation_client.py8
-rw-r--r--synapse/handlers/federation.py8
2 files changed, 7 insertions, 9 deletions
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py
index 3a840e068b..d2d42e7009 100644
--- a/synapse/federation/federation_client.py
+++ b/synapse/federation/federation_client.py
@@ -230,7 +230,7 @@ class FederationClient(FederationBase):
         self,
         destinations: Iterable[str],
         event_id: str,
-        room_version: str,
+        room_version: RoomVersion,
         outlier: bool = False,
         timeout: Optional[int] = None,
     ) -> Optional[EventBase]:
@@ -262,7 +262,7 @@ class FederationClient(FederationBase):
 
         pdu_attempts = self.pdu_destination_tried.setdefault(event_id, {})
 
-        format_ver = room_version_to_event_format(room_version)
+        format_ver = room_version.event_format
 
         signed_pdu = None
         for destination in destinations:
@@ -292,7 +292,9 @@ class FederationClient(FederationBase):
                     pdu = pdu_list[0]
 
                     # Check signatures are correct.
-                    signed_pdu = await self._check_sigs_and_hash(room_version, pdu)
+                    signed_pdu = await self._check_sigs_and_hash(
+                        room_version.identifier, pdu
+                    )
 
                     break
 
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 5728ea2ee7..5ca410e2b3 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -1110,7 +1110,7 @@ class FederationHandler(BaseHandler):
         Logs a warning if we can't find the given event.
         """
 
-        room_version = await self.store.get_room_version_id(room_id)
+        room_version = await self.store.get_room_version(room_id)
 
         event_infos = []
 
@@ -1916,11 +1916,7 @@ class FederationHandler(BaseHandler):
 
         for e_id in missing_auth_events:
             m_ev = await self.federation_client.get_pdu(
-                [origin],
-                e_id,
-                room_version=room_version.identifier,
-                outlier=True,
-                timeout=10000,
+                [origin], e_id, room_version=room_version, outlier=True, timeout=10000,
             )
             if m_ev and m_ev.event_id == e_id:
                 event_map[e_id] = m_ev