summary refs log tree commit diff
path: root/synapse/event_auth.py
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2018-08-08 17:10:53 +0100
committerGitHub <noreply@github.com>2018-08-08 17:10:53 +0100
commit8521ae13e33301e06eb1fb5b36a8eef4e7f6453f (patch)
treefa2749c97eb5ada93e0d7dd620e429b19d00664f /synapse/event_auth.py
parentMerge pull request #3662 from matrix-org/neilj/reserved_users (diff)
parentDon't expose default_room_version as config opt (diff)
downloadsynapse-8521ae13e33301e06eb1fb5b36a8eef4e7f6453f.tar.xz
Merge pull request #3654 from matrix-org/rav/room_versions
Support for room versioning
Diffstat (limited to 'synapse/event_auth.py')
-rw-r--r--synapse/event_auth.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/synapse/event_auth.py b/synapse/event_auth.py

index b32f64e729..6baeccca38 100644 --- a/synapse/event_auth.py +++ b/synapse/event_auth.py
@@ -20,7 +20,7 @@ from signedjson.key import decode_verify_key_bytes from signedjson.sign import SignatureVerifyException, verify_signed_json from unpaddedbase64 import decode_base64 -from synapse.api.constants import EventTypes, JoinRules, Membership +from synapse.api.constants import KNOWN_ROOM_VERSIONS, EventTypes, JoinRules, Membership from synapse.api.errors import AuthError, EventSizeError, SynapseError from synapse.types import UserID, get_domain_from_id @@ -83,6 +83,14 @@ def check(event, auth_events, do_sig_check=True, do_size_check=True): 403, "Creation event's room_id domain does not match sender's" ) + + room_version = event.content.get("room_version", "1") + if room_version not in KNOWN_ROOM_VERSIONS: + raise AuthError( + 403, + "room appears to have unsupported version %s" % ( + room_version, + )) # FIXME logger.debug("Allowing! %s", event) return