summary refs log tree commit diff
path: root/synapse/state.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-03-16 00:18:08 +0000
committerErik Johnston <erik@matrix.org>2015-03-16 00:18:08 +0000
commitea8590cf6626364e9532860548a5f1ae3b172d80 (patch)
treec26056bf58b4afb83f6bdbb7d6cfe42ee88ab3b0 /synapse/state.py
parentRespect ban membership (diff)
downloadsynapse-ea8590cf6626364e9532860548a5f1ae3b172d80.tar.xz
Make context.auth_events grap auth events from current state. Otherwise auth is wrong.
Diffstat (limited to 'synapse/state.py')
-rw-r--r--synapse/state.py22
1 files changed, 5 insertions, 17 deletions
diff --git a/synapse/state.py b/synapse/state.py
index 80cced351d..345046cd88 100644
--- a/synapse/state.py
+++ b/synapse/state.py
@@ -21,6 +21,7 @@ from synapse.util.async import run_on_reactor
 from synapse.util.expiringcache import ExpiringCache
 from synapse.api.constants import EventTypes
 from synapse.api.errors import AuthError
+from synapse.api.auth import AuthEventTypes
 from synapse.events.snapshot import EventContext
 
 from collections import namedtuple
@@ -38,12 +39,6 @@ def _get_state_key_from_event(event):
 KeyStateTuple = namedtuple("KeyStateTuple", ("context", "type", "state_key"))
 
 
-AuthEventTypes = (
-    EventTypes.Create, EventTypes.Member, EventTypes.PowerLevels,
-    EventTypes.JoinRules,
-)
-
-
 SIZE_OF_CACHE = 1000
 EVICTION_TIMEOUT_SECONDS = 20
 
@@ -187,17 +182,10 @@ class StateHandler(object):
                 replaces = context.current_state[key]
                 event.unsigned["replaces_state"] = replaces.event_id
 
-        if hasattr(event, "auth_events") and event.auth_events:
-            auth_ids = self.hs.get_auth().compute_auth_events(
-                event, context.current_state
-            )
-            context.auth_events = {
-                k: v
-                for k, v in context.current_state.items()
-                if v.event_id in auth_ids
-            }
-        else:
-            context.auth_events = {}
+        context.auth_events = {
+            k: e for k, e in context.current_state.items()
+            if k[0] in AuthEventTypes
+        }
 
         context.prev_state_events = prev_state
         defer.returnValue(context)