diff --git a/js/libtextsecure.js b/js/libtextsecure.js index 8571aa28b..77fd6ce9b 100644 --- a/js/libtextsecure.js +++ b/js/libtextsecure.js @@ -36748,7 +36748,7 @@ Internal.SessionLock.queueJobForNumber = function queueJobForNumber(number, runJ var mac = encryptedBin.slice(encryptedBin.byteLength - 32, encryptedBin.byteLength); return verifyMAC(ivAndCiphertext, mac_key, mac, 32).then(function() { - if (theirDigest !== undefined) { + if (theirDigest !== null) { return verifyDigest(encryptedBin, theirDigest); } }).then(function() { @@ -38536,12 +38536,16 @@ MessageReceiver.prototype.extend({ return textsecure.storage.get('blocked', []).indexOf(number) >= 0; }, handleAttachment: function(attachment) { - var digest = attachment.digest ? attachment.digest.toArrayBuffer() : undefined; + attachment.id = attachment.id.toString(); + attachment.key = attachment.key.toArrayBuffer(); + if (attachment.digest) { + attachment.digest = attachment.digest.toArrayBuffer(); + } function decryptAttachment(encrypted) { return textsecure.crypto.decryptAttachment( encrypted, - attachment.key.toArrayBuffer(), - digest + attachment.key, + attachment.digest ); } @@ -38549,7 +38553,7 @@ MessageReceiver.prototype.extend({ attachment.data = data; } - return this.server.getAttachment(attachment.id.toString()). + return this.server.getAttachment(attachment.id). then(decryptAttachment). then(updateAttachment); }, diff --git a/libtextsecure/crypto.js b/libtextsecure/crypto.js index 792e03fb7..f9aa58c45 100644 --- a/libtextsecure/crypto.js +++ b/libtextsecure/crypto.js @@ -73,7 +73,7 @@ var mac = encryptedBin.slice(encryptedBin.byteLength - 32, encryptedBin.byteLength); return verifyMAC(ivAndCiphertext, mac_key, mac, 32).then(function() { - if (theirDigest !== undefined) { + if (theirDigest !== null) { return verifyDigest(encryptedBin, theirDigest); } }).then(function() { diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index 7ed411130..771ca9b9a 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -342,12 +342,16 @@ MessageReceiver.prototype.extend({ return textsecure.storage.get('blocked', []).indexOf(number) >= 0; }, handleAttachment: function(attachment) { - var digest = attachment.digest ? attachment.digest.toArrayBuffer() : undefined; + attachment.id = attachment.id.toString(); + attachment.key = attachment.key.toArrayBuffer(); + if (attachment.digest) { + attachment.digest = attachment.digest.toArrayBuffer(); + } function decryptAttachment(encrypted) { return textsecure.crypto.decryptAttachment( encrypted, - attachment.key.toArrayBuffer(), - digest + attachment.key, + attachment.digest ); } @@ -355,7 +359,7 @@ MessageReceiver.prototype.extend({ attachment.data = data; } - return this.server.getAttachment(attachment.id.toString()). + return this.server.getAttachment(attachment.id). then(decryptAttachment). then(updateAttachment); },