From a3a3e32e2153dd8ef384575848a1e4eb0cb327db Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Wed, 4 Oct 2017 12:06:30 -0400 Subject: [PATCH 1/2] don't try to decrypt a redacted message (fixes vector-im/riot-web#3744) set the decrypted data to an empty message Signed-off-by: Hubert Chathi --- src/crypto/index.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/crypto/index.js b/src/crypto/index.js index 57f99ac78..314c20c9d 100644 --- a/src/crypto/index.js +++ b/src/crypto/index.js @@ -769,6 +769,15 @@ Crypto.prototype.encryptEvent = function(event, room) { * is a problem decrypting the event. */ Crypto.prototype.decryptEvent = function(event) { + if (event.isRedacted()) { + return { + clearEvent: { + room_id: event.getRoomId(), + type: "m.room.message", + content: {}, + }, + }; + } const content = event.getWireContent(); const alg = this._getRoomDecryptor(event.getRoomId(), content.algorithm); return alg.decryptEvent(event); From b373601e13d2d915c5b4bd9bacab99e353b4ba18 Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Tue, 24 Oct 2017 13:11:48 -0400 Subject: [PATCH 2/2] make sure redacted e2e messages are returned as a promise Signed-off-by: Hubert Chathi --- src/crypto/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/crypto/index.js b/src/crypto/index.js index 314c20c9d..53f838069 100644 --- a/src/crypto/index.js +++ b/src/crypto/index.js @@ -770,13 +770,13 @@ Crypto.prototype.encryptEvent = function(event, room) { */ Crypto.prototype.decryptEvent = function(event) { if (event.isRedacted()) { - return { + return Promise.resolve({ clearEvent: { room_id: event.getRoomId(), type: "m.room.message", content: {}, }, - }; + }); } const content = event.getWireContent(); const alg = this._getRoomDecryptor(event.getRoomId(), content.algorithm);