summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2016-01-27 17:02:10 +0000
committerRichard van der Hoff <richard@matrix.org>2016-01-27 17:02:10 +0000
commitd6d60b4d6cfb4f4b02a83bddb04530a6fbdf52a3 (patch)
tree35e9b820233b04cf5549d1c7de5146378bcbb2cf /synapse/handlers
parentMerge pull request #529 from matrix-org/dbkr/one_to_one_only_messages (diff)
downloadsynapse-d6d60b4d6cfb4f4b02a83bddb04530a6fbdf52a3.tar.xz
Federation: drop events which cause SynapseErrors
... rather than rejecting any attempt to federate channels which contain such
events.
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/federation.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 6c19d6ae8c..2ce1e9d6c7 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -1186,7 +1186,13 @@ class FederationHandler(BaseHandler):
 
             try:
                 self.auth.check(e, auth_events=auth_for_e)
-            except AuthError as err:
+            except SynapseError as err:
+                # we may get SynapseErrors here as well as AuthErrors. For
+                # instance, there are a couple of (ancient) events in some
+                # rooms whose senders do not have the correct sigil; these
+                # cause SynapseErrors in auth.check. We don't want to give up
+                # the attempt to federate altogether in such cases.
+
                 logger.warn(
                     "Rejecting %s because %s",
                     e.event_id, err.msg