1 files changed, 14 insertions, 10 deletions
diff --git a/synapse/federation/federation_base.py b/synapse/federation/federation_base.py
index a990aec4fd..30f3f5c8a4 100644
--- a/synapse/federation/federation_base.py
+++ b/synapse/federation/federation_base.py
@@ -61,7 +61,8 @@ class FederationBase(object):
# Check local db.
new_pdu = yield self.store.get_event(
pdu.event_id,
- allow_rejected=True
+ allow_rejected=True,
+ allow_none=True,
)
if new_pdu:
signed_pdus.append(new_pdu)
@@ -69,15 +70,18 @@ class FederationBase(object):
# Check pdu.origin
if pdu.origin != origin:
- new_pdu = yield self.get_pdu(
- destinations=[pdu.origin],
- event_id=pdu.event_id,
- outlier=outlier,
- )
-
- if new_pdu:
- signed_pdus.append(new_pdu)
- continue
+ try:
+ new_pdu = yield self.get_pdu(
+ destinations=[pdu.origin],
+ event_id=pdu.event_id,
+ outlier=outlier,
+ )
+
+ if new_pdu:
+ signed_pdus.append(new_pdu)
+ continue
+ except:
+ pass
logger.warn("Failed to find copy of %s with valid signature")
|