diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-09-25 16:34:40 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2018-09-26 14:40:16 +0100 |
commit | 8afddf7afec8c6ee790a10e24fe817d663bfb4ee (patch) | |
tree | b20088f05cb8f35de980b6b048451084d355a4b6 /synapse | |
parent | Merge branch 'develop' into rav/hacky_cache_factor_fix (diff) | |
download | synapse-8afddf7afec8c6ee790a10e24fe817d663bfb4ee.tar.xz |
Fix error handling for missing auth_event
When we were authorizing an event, if there was no `m.room.create` in its auth_events, we would raise a SynapseError with a cryptic message, which then meant that we would bail out of processing any incoming events, rather than storing a rejection for the faulty event and moving on. We should treat the absent event the same as any other auth failure, by raising an AuthError, so that the event is marked as rejected.
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/event_auth.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/synapse/event_auth.py b/synapse/event_auth.py index 6baeccca38..02fa46ef7f 100644 --- a/synapse/event_auth.py +++ b/synapse/event_auth.py @@ -98,9 +98,9 @@ def check(event, auth_events, do_sig_check=True, do_size_check=True): creation_event = auth_events.get((EventTypes.Create, ""), None) if not creation_event: - raise SynapseError( + raise AuthError( 403, - "Room %r does not exist" % (event.room_id,) + "No create event in auth events", ) creating_domain = get_domain_from_id(event.room_id) |