mirror of https://github.com/xwiki-labs/cryptpad
handle messages which fail to decrypt
This commit is contained in:
parent
bad5160885
commit
797cc2b105
|
@ -240,7 +240,28 @@ define([
|
||||||
if (!isId) { return; }
|
if (!isId) { return; }
|
||||||
|
|
||||||
var decryptedMsg = channel.encryptor.decrypt(msg);
|
var decryptedMsg = channel.encryptor.decrypt(msg);
|
||||||
|
|
||||||
|
if (decryptedMsg === null) {
|
||||||
|
// console.error('unable to decrypt message');
|
||||||
|
// console.error('potentially meant for yourself');
|
||||||
|
|
||||||
|
// message failed to parse, meaning somebody sent it to you but
|
||||||
|
// encrypted it with the wrong key, or you're sending a message to
|
||||||
|
// yourself in a different tab.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!decryptedMsg) {
|
||||||
|
console.error('decrypted message was falsey but not null');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
var parsed = JSON.parse(decryptedMsg);
|
var parsed = JSON.parse(decryptedMsg);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(decryptedMsg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (parsed[0] !== Types.mapId && parsed[0] !== Types.mapIdAck) { return; }
|
if (parsed[0] !== Types.mapId && parsed[0] !== Types.mapIdAck) { return; }
|
||||||
if (parsed[2] !== sender || !parsed[1]) { return; }
|
if (parsed[2] !== sender || !parsed[1]) { return; }
|
||||||
channel.mapId[sender] = parsed[1];
|
channel.mapId[sender] = parsed[1];
|
||||||
|
|
|
@ -35,6 +35,7 @@ define([
|
||||||
var nonce = decodeBase64(unpacked[0]);
|
var nonce = decodeBase64(unpacked[0]);
|
||||||
var box = decodeBase64(unpacked[1]);
|
var box = decodeBase64(unpacked[1]);
|
||||||
var message = Nacl.box.open.after(box, nonce, secret);
|
var message = Nacl.box.open.after(box, nonce, secret);
|
||||||
|
if (message === false) { return null; }
|
||||||
return encodeUTF8(message);
|
return encodeUTF8(message);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue