From 929c6ffa6dc35042714675dc07f43877bd5097a5 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Tue, 15 Apr 2014 19:14:42 -0300 Subject: [PATCH 1/2] securely store encryptation passwords --- js/models/storage/Encrypted.js | 8 +++++--- test/test.storage-encrypted.js | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/js/models/storage/Encrypted.js b/js/models/storage/Encrypted.js index d28b1bcd0..35b6bcb4a 100644 --- a/js/models/storage/Encrypted.js +++ b/js/models/storage/Encrypted.js @@ -4,18 +4,20 @@ var imports = require('soop').imports(); //var buffertools = imports.buffertools || require('buffertools'); var parent = imports.parent || require('./Plain'); +var id = 0; function Storage() { + this.__uniqueid = ++id; } Storage.parent = parent; -var passphrase = null; +var pps = {}; Storage.prototype._getPassphrase = function() { - return passphrase; + return pps[this.__uniqueid]; } Storage.prototype._setPassphrase = function(password) { - passphrase = password; + pps[this.__uniqueid] = password; } Storage.prototype._encrypt = function(data) { diff --git a/test/test.storage-encrypted.js b/test/test.storage-encrypted.js index 39cb86261..c751d6cac 100644 --- a/test/test.storage-encrypted.js +++ b/test/test.storage-encrypted.js @@ -16,7 +16,7 @@ if (typeof process === 'undefined' || !process.version) { var s = new Encrypted(); should.exist(s); }); - it.skip('should fail when encrypting without a password', function() { + it('should fail when encrypting without a password', function() { var s = new Encrypted(); (function(){s.set(wid, 'x', 1);}).should.throw(); }); From 3650747171639c31b4d9db5d9aee78ac87e49a81 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Tue, 15 Apr 2014 19:17:48 -0300 Subject: [PATCH 2/2] fix API directory names --- API.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/API.js b/API.js index 45f280848..32bcbd8b9 100644 --- a/API.js +++ b/API.js @@ -12,8 +12,8 @@ API.prototype._init = function(opts) { var Wallet = require('soop').load('./js/models/core/Wallet', { Storage: opts.Storage || require('./test/FakeStorage'), - Network: opts.Network || require('./js/models/Network/WebRTC'), - Blockchain: opts.Blockchain || require('./js/models/Blockchain/Insight') + Network: opts.Network || require('./js/models/network/WebRTC'), + Blockchain: opts.Blockchain || require('./js/models/blockchain/Insight') }); var config = {