Make sure that is_verified is a boolean when processing room keys

This commit is contained in:
Brendan Abolivier 2020-03-06 11:02:52 +00:00
parent 87972f07e5
commit 80e580ae92
No known key found for this signature in database
GPG Key ID: 1E015C145F1916CD

View File

@ -207,6 +207,12 @@ class E2eRoomKeysHandler(object):
changed = False # if anything has changed, we need to update the etag changed = False # if anything has changed, we need to update the etag
for room_id, room in iteritems(room_keys["rooms"]): for room_id, room in iteritems(room_keys["rooms"]):
for session_id, room_key in iteritems(room["sessions"]): for session_id, room_key in iteritems(room["sessions"]):
if not isinstance(room_key["is_verified"], bool):
msg = (
"is_verified must be a boolean in keys for room %s" % room_id
)
raise SynapseError(400, msg, Codes.INVALID_PARAM)
log_kv( log_kv(
{ {
"message": "Trying to upload room key", "message": "Trying to upload room key",