forked from MirrorHub/synapse
Remove concept of context.auth_events, instead use context.current_state
This commit is contained in:
parent
e7ce5d8b06
commit
b2e6ee5b43
5 changed files with 7 additions and 33 deletions
|
@ -430,12 +430,6 @@ class Auth(object):
|
||||||
|
|
||||||
builder.auth_events = auth_events_entries
|
builder.auth_events = auth_events_entries
|
||||||
|
|
||||||
context.auth_events = {
|
|
||||||
k: v
|
|
||||||
for k, v in context.current_state.items()
|
|
||||||
if v.type in AuthEventTypes
|
|
||||||
}
|
|
||||||
|
|
||||||
def compute_auth_events(self, event, current_state):
|
def compute_auth_events(self, event, current_state):
|
||||||
if event.type == EventTypes.Create:
|
if event.type == EventTypes.Create:
|
||||||
return []
|
return []
|
||||||
|
|
|
@ -16,8 +16,7 @@
|
||||||
|
|
||||||
class EventContext(object):
|
class EventContext(object):
|
||||||
|
|
||||||
def __init__(self, current_state=None, auth_events=None):
|
def __init__(self, current_state=None):
|
||||||
self.current_state = current_state
|
self.current_state = current_state
|
||||||
self.auth_events = auth_events
|
|
||||||
self.state_group = None
|
self.state_group = None
|
||||||
self.rejected = False
|
self.rejected = False
|
||||||
|
|
|
@ -90,8 +90,8 @@ class BaseHandler(object):
|
||||||
event = builder.build()
|
event = builder.build()
|
||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"Created event %s with auth_events: %s, current state: %s",
|
"Created event %s with current state: %s",
|
||||||
event.event_id, context.auth_events, context.current_state,
|
event.event_id, context.current_state,
|
||||||
)
|
)
|
||||||
|
|
||||||
defer.returnValue(
|
defer.returnValue(
|
||||||
|
@ -106,7 +106,7 @@ class BaseHandler(object):
|
||||||
# We now need to go and hit out to wherever we need to hit out to.
|
# We now need to go and hit out to wherever we need to hit out to.
|
||||||
|
|
||||||
if not suppress_auth:
|
if not suppress_auth:
|
||||||
self.auth.check(event, auth_events=context.auth_events)
|
self.auth.check(event, auth_events=context.current_state)
|
||||||
|
|
||||||
yield self.store.persist_event(event, context=context)
|
yield self.store.persist_event(event, context=context)
|
||||||
|
|
||||||
|
|
|
@ -464,11 +464,9 @@ class FederationHandler(BaseHandler):
|
||||||
builder=builder,
|
builder=builder,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.auth.check(event, auth_events=context.auth_events)
|
self.auth.check(event, auth_events=context.current_state)
|
||||||
|
|
||||||
pdu = event
|
defer.returnValue(event)
|
||||||
|
|
||||||
defer.returnValue(pdu)
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
@log_function
|
@log_function
|
||||||
|
@ -705,7 +703,7 @@ class FederationHandler(BaseHandler):
|
||||||
)
|
)
|
||||||
|
|
||||||
if not auth_events:
|
if not auth_events:
|
||||||
auth_events = context.auth_events
|
auth_events = context.current_state
|
||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"_handle_new_event: %s, auth_events: %s",
|
"_handle_new_event: %s, auth_events: %s",
|
||||||
|
|
|
@ -134,18 +134,6 @@ class StateHandler(object):
|
||||||
}
|
}
|
||||||
context.state_group = None
|
context.state_group = None
|
||||||
|
|
||||||
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 = {}
|
|
||||||
|
|
||||||
if event.is_state():
|
if event.is_state():
|
||||||
key = (event.type, event.state_key)
|
key = (event.type, event.state_key)
|
||||||
if key in context.current_state:
|
if key in context.current_state:
|
||||||
|
@ -182,11 +170,6 @@ class StateHandler(object):
|
||||||
replaces = context.current_state[key]
|
replaces = context.current_state[key]
|
||||||
event.unsigned["replaces_state"] = replaces.event_id
|
event.unsigned["replaces_state"] = replaces.event_id
|
||||||
|
|
||||||
context.auth_events = {
|
|
||||||
k: e for k, e in context.current_state.items()
|
|
||||||
if k[0] in AuthEventTypes
|
|
||||||
}
|
|
||||||
|
|
||||||
context.prev_state_events = prev_state
|
context.prev_state_events = prev_state
|
||||||
defer.returnValue(context)
|
defer.returnValue(context)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue