diff options
author | Jeroen <vo.jeroen@gmail.com> | 2018-07-09 08:51:11 +0200 |
---|---|---|
committer | Jeroen <vo.jeroen@gmail.com> | 2018-07-09 08:51:11 +0200 |
commit | b5e157d895dcf182d7ffc58edf6442deeaebc3f0 (patch) | |
tree | a3f8a4549d0fe4947bef34632218b41c94202b19 /synapse/event_auth.py | |
parent | take idna implementation from twisted (diff) | |
parent | Add an isort configuration (#3463) (diff) | |
download | synapse-b5e157d895dcf182d7ffc58edf6442deeaebc3f0.tar.xz |
Merge branch 'develop' into send_sni_for_federation_requests
# Conflicts: # synapse/http/endpoint.py
Diffstat (limited to 'synapse/event_auth.py')
-rw-r--r-- | synapse/event_auth.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/synapse/event_auth.py b/synapse/event_auth.py index f512d88145..cdf99fd140 100644 --- a/synapse/event_auth.py +++ b/synapse/event_auth.py @@ -76,6 +76,7 @@ def check(event, auth_events, do_sig_check=True, do_size_check=True): return if event.type == EventTypes.Create: + sender_domain = get_domain_from_id(event.sender) room_id_domain = get_domain_from_id(event.room_id) if room_id_domain != sender_domain: raise AuthError( @@ -524,7 +525,11 @@ def _check_power_levels(event, auth_events): "to your own" ) - if old_level > user_level or new_level > user_level: + # Check if the old and new levels are greater than the user level + # (if defined) + old_level_too_big = old_level is not None and old_level > user_level + new_level_too_big = new_level is not None and new_level > user_level + if old_level_too_big or new_level_too_big: raise AuthError( 403, "You don't have permission to add ops level greater " |