summary refs log tree commit diff
path: root/synapse/federation/federation_client.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2020-10-21 14:12:58 +0100
committerAndrew Morgan <andrew@amorgan.xyz>2020-10-21 14:12:58 +0100
commit3de9eb3529afad1ba181821c82940e73564039b4 (patch)
tree0999088b6c576fbcd50a2002303677afd78826c8 /synapse/federation/federation_client.py
parentMerge commit '43f2b67e4' into anoa/dinsic_release_1_21_x (diff)
parent1.20.0rc5 (diff)
downloadsynapse-3de9eb3529afad1ba181821c82940e73564039b4.tar.xz
Merge commit 'd5f7182ba' into anoa/dinsic_release_1_21_x
* commit 'd5f7182ba':
  1.20.0rc5
  1.19.3
  Use _check_sigs_and_hash_and_fetch to validate backfill requests (#8350)
Diffstat (limited to 'synapse/federation/federation_client.py')
-rw-r--r--synapse/federation/federation_client.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py

index a2e8d96ea2..d42930d1b9 100644 --- a/synapse/federation/federation_client.py +++ b/synapse/federation/federation_client.py
@@ -217,11 +217,9 @@ class FederationClient(FederationBase): for p in transaction_data["pdus"] ] - # FIXME: We should handle signature failures more gracefully. - pdus[:] = await make_deferred_yieldable( - defer.gatherResults( - self._check_sigs_and_hashes(room_version, pdus), consumeErrors=True, - ).addErrback(unwrapFirstError) + # Check signatures and hash of pdus, removing any from the list that fail checks + pdus[:] = await self._check_sigs_and_hash_and_fetch( + dest, pdus, outlier=True, room_version=room_version ) return pdus