From f036a10a7ddfd0bdb5541ab1c72d7ba9f1345295 Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Tue, 21 Jul 2015 17:00:57 +0100 Subject: [PATCH] Add missing src/encryption.js file --- src/encryption.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/encryption.js diff --git a/src/encryption.js b/src/encryption.js new file mode 100644 index 0000000000..dea454a3f3 --- /dev/null +++ b/src/encryption.js @@ -0,0 +1,40 @@ +/* +Copyright 2015 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +'use strict'; + +function enableEncyption(client, roomId, members) { + members = members.slice(0); + members.push(client.credentials.userId); + // TODO: Check the keys actually match what keys the user has. + // TODO: Don't redownload keys each time. + return client.downloadKeys(members, "forceDownload").then(function(res) { + return client.setRoomEncryption(roomId, { + algorithm: "m.olm.v1.curve25519-aes-sha2", + members: members, + }); + }) +} + +function disableEncryption(client, roomId) { + return client.disableRoomEncryption(roomId); +} + + +module.exports = { + enableEncryption: enableEncyption, + disableEncryption: disableEncryption, +}