Server-enforced e2e for private rooms

This commit is contained in:
David Baker 2018-06-22 13:54:17 +01:00
parent d18731e252
commit fd28d13e19

View File

@ -46,12 +46,14 @@ class RoomCreationHandler(BaseHandler):
"history_visibility": "shared", "history_visibility": "shared",
"original_invitees_have_ops": False, "original_invitees_have_ops": False,
"guest_can_join": True, "guest_can_join": True,
"encryption_alg": "m.megolm.v1.aes-sha2",
}, },
RoomCreationPreset.TRUSTED_PRIVATE_CHAT: { RoomCreationPreset.TRUSTED_PRIVATE_CHAT: {
"join_rules": JoinRules.INVITE, "join_rules": JoinRules.INVITE,
"history_visibility": "shared", "history_visibility": "shared",
"original_invitees_have_ops": True, "original_invitees_have_ops": True,
"guest_can_join": True, "guest_can_join": True,
"encryption_alg": "m.megolm.v1.aes-sha2",
}, },
RoomCreationPreset.PUBLIC_CHAT: { RoomCreationPreset.PUBLIC_CHAT: {
"join_rules": JoinRules.PUBLIC, "join_rules": JoinRules.PUBLIC,
@ -373,6 +375,15 @@ class RoomCreationHandler(BaseHandler):
content=content, content=content,
) )
if "encryption_alg" in config:
send(
etype="m.room.encryption",
state_key="",
content={
'algorithm': config["encryption_alg"],
}
)
class RoomContextHandler(BaseHandler): class RoomContextHandler(BaseHandler):
@defer.inlineCallbacks @defer.inlineCallbacks