From 1ee96a3f4027063b67782b28bafee07ed770b18d Mon Sep 17 00:00:00 2001 From: Artem Chudinov Date: Wed, 19 Aug 2015 22:15:21 +0500 Subject: [PATCH 1/2] md5.js: Remove an unused variable to support enforced strict mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The problem was: arzeth /tmp/test % npm install openpgp openpgp@1.2.0 node_modules/openpgp ├── node-localstorage@0.3.6 ├── es6-promise@1.0.0 └── zlibjs@0.2.0 arzeth /tmp/test % node --version v3.0.0 arzeth /tmp/test % node > var openpgp = require('openpgp'); undefined > arzeth /tmp/test % node --use_strict > var openpgp = require('openpgp'); ReferenceError: txt is not defined at md51 (/tmp/test/node_modules/openpgp/src/crypto/hash/md5.js:135:7) at md5 (/tmp/test/node_modules/openpgp/src/crypto/hash/md5.js:198:14) at Object. (/tmp/test/node_modules/openpgp/src/crypto/hash/md5.js:211:5) at Module._compile (module.js:430:26) at Object.Module._extensions..js (module.js:448:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at Object. (/tmp/test/node_modules/openpgp/src/crypto/hash/index.js:10:8) --- src/crypto/hash/md5.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/crypto/hash/md5.js b/src/crypto/hash/md5.js index b0261d49..a6cd008e 100644 --- a/src/crypto/hash/md5.js +++ b/src/crypto/hash/md5.js @@ -132,7 +132,6 @@ function ii(a, b, c, d, x, s, t) { } function md51(s) { - txt = ''; var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i; From 9de55b49f3339f1ef97c825eee8caed9d41d1be5 Mon Sep 17 00:00:00 2001 From: Artem Chudinov Date: Wed, 19 Aug 2015 22:32:06 +0500 Subject: [PATCH 2/2] s2k.js,async_proxy.js: Initialize variable `data` properly It fixes error when running the example code (in Node.js with enforced strict mode) from README.md: [ReferenceError: data is not defined] Error: Error generating keypair using js fallback! at /tmp/fff/node_modules/openpgp/src/openpgp.js:266:13 at process._tickDomainCallback (node.js:399:9) --- src/type/s2k.js | 4 ++-- src/worker/async_proxy.js | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/type/s2k.js b/src/type/s2k.js index bb5fcc77..683d1e16 100644 --- a/src/type/s2k.js +++ b/src/type/s2k.js @@ -153,8 +153,8 @@ S2K.prototype.produce_key = function (passphrase, numBytes) { case 'iterated': var isp = [], - count = s2k.get_count(); - data = s2k.salt + passphrase; + count = s2k.get_count(), + data = s2k.salt + passphrase; while (isp.length * data.length < count) isp.push(data); diff --git a/src/worker/async_proxy.js b/src/worker/async_proxy.js index 0e6fdccc..66c36264 100644 --- a/src/worker/async_proxy.js +++ b/src/worker/async_proxy.js @@ -333,8 +333,8 @@ AsyncProxy.prototype.decryptKey = function(privateKey, password) { }); self.tasks.push({ resolve:function(data) { - var packetlist = packet.List.fromStructuredClone(data); - data = new key.Key(packetlist); + var packetlist = packet.List.fromStructuredClone(data), + data = new key.Key(packetlist); resolve(data); }, reject:reject }); }); @@ -361,8 +361,8 @@ AsyncProxy.prototype.decryptKeyPacket = function(privateKey, keyIds, password) { }); self.tasks.push({ resolve:function(data) { - var packetlist = packet.List.fromStructuredClone(data); - data = new key.Key(packetlist); + var packetlist = packet.List.fromStructuredClone(data), + data = new key.Key(packetlist); resolve(data); }, reject:reject }); });