From 7f41bcbeec64da874c10a70f8a0b8e3f9f0626d8 Mon Sep 17 00:00:00 2001
From: Erik Johnston <erik@matrix.org>
Date: Wed, 10 Aug 2016 13:22:20 +0100
Subject: [PATCH] Correctly auth /event/ requests

---
 synapse/handlers/federation.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 55d11122ba..2f8959db92 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -249,7 +249,7 @@ class FederationHandler(BaseHandler):
                         if ev.type != EventTypes.Member:
                             continue
                         try:
-                            domain = UserID.from_string(ev.state_key).domain
+                            domain = get_domain_from_id(ev.state_key)
                         except:
                             continue
 
@@ -1106,13 +1106,14 @@ class FederationHandler(BaseHandler):
                 )
 
             if do_auth:
-                in_room = yield self.auth.check_host_in_room(
-                    event.room_id,
-                    origin
+                events = yield self._filter_events_for_server(
+                    origin, event.room_id, [event]
                 )
-                if not in_room:
+                if not events:
                     raise AuthError(403, "Host not in room.")
 
+                event = events[0]
+
             defer.returnValue(event)
         else:
             defer.returnValue(None)
-- 
GitLab