Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Proxy') (more/less context) (ignore whitespace changes)
-rwxr-xr-x | frontend/beta/js/Clipperz/PM/Proxy/Proxy.JSON.js | 15 | ||||
-rw-r--r-- | frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js | 15 | ||||
-rw-r--r-- | frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.js | 15 | ||||
-rwxr-xr-x | frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js | 15 | ||||
-rw-r--r-- | frontend/beta/js/Clipperz/PM/Proxy/Proxy.Test.js | 15 |
5 files changed, 30 insertions, 45 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.JSON.js b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.JSON.js index 889e1f1..4f3b4b2 100755 --- a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.JSON.js +++ b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.JSON.js @@ -1,100 +1,97 @@ /* Copyright 2008-2011 Clipperz Srl -This file is part of Clipperz's Javascript Crypto Library. -Javascript Crypto Library provides web developers with an extensive -and efficient set of cryptographic functions. The library aims to -obtain maximum execution speed while preserving modularity and -reusability. +This file is part of Clipperz Community Edition. +Clipperz Community Edition is an online password manager. For further information about its features and functionalities please -refer to http://www.clipperz.com +refer to http://www.clipperz.com. -* Javascript Crypto Library is free software: you can redistribute +* Clipperz Community Edition is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -* Javascript Crypto Library is distributed in the hope that it will +* Clipperz Community Edition is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Javascript Crypto Library. If not, see + License along with Clipperz Community Edition. If not, see <http://www.gnu.org/licenses/>. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } //============================================================================= Clipperz.PM.Proxy.JSON = function(args) { Clipperz.PM.Proxy.JSON.superclass.constructor.call(this, args); this._url = args.url || Clipperz.Base.exception.raise('MandatoryParameter'); return this; } YAHOO.extendX(Clipperz.PM.Proxy.JSON, Clipperz.PM.Proxy, { 'toString': function() { return "Clipperz.PM.Proxy.JSON"; }, //========================================================================= 'url': function () { return this._url; }, //========================================================================= 'sendMessage': function(aFunctionName, someParameters) { var deferredResult; var parameters; parameters = { method: aFunctionName, // version: someParameters['version'], // message: someParameters['message'], parameters: Clipperz.Base.serializeJSON(someParameters) }; deferredResult = new MochiKit.Async.Deferred(); deferredResult.addCallback(function (aValue) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'remoteRequestSent'); return aValue; }); deferredResult.addCallback(MochiKit.Async.doXHR, this.url(), { method:'POST', sendContent:MochiKit.Base.queryString(parameters), headers:{"Content-Type":"application/x-www-form-urlencoded"} }); deferredResult.addCallback(function (aValue) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'remoteRequestReceived'); return aValue; }); // deferredResult.addCallback(MochiKit.Async.evalJSONRequest); deferredResult.addCallback(MochiKit.Base.itemgetter('responseText')); deferredResult.addCallback(Clipperz.Base.evalJSON); deferredResult.addCallback(function (someValues) { if (someValues['result'] == 'EXCEPTION') { throw someValues['message']; } return someValues; }) // return MochiKit.Base.evalJSON(req.responseText); deferredResult.callback(); return deferredResult; }, //========================================================================= __syntaxFix__: "syntax fix" }); diff --git a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js index 4d3ba08..d5336be 100644 --- a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js +++ b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js @@ -1,152 +1,149 @@ /* Copyright 2008-2011 Clipperz Srl -This file is part of Clipperz's Javascript Crypto Library. -Javascript Crypto Library provides web developers with an extensive -and efficient set of cryptographic functions. The library aims to -obtain maximum execution speed while preserving modularity and -reusability. +This file is part of Clipperz Community Edition. +Clipperz Community Edition is an online password manager. For further information about its features and functionalities please -refer to http://www.clipperz.com +refer to http://www.clipperz.com. -* Javascript Crypto Library is free software: you can redistribute +* Clipperz Community Edition is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -* Javascript Crypto Library is distributed in the hope that it will +* Clipperz Community Edition is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Javascript Crypto Library. If not, see + License along with Clipperz Community Edition. If not, see <http://www.gnu.org/licenses/>. */ try { if (typeof(Clipperz.PM.Proxy.Offline) == 'undefined') { throw ""; }} catch (e) { throw "Clipperz.PM.Proxy.Offline.DataStore depends on Clipperz.PM.Proxy.Offline!"; } //============================================================================= Clipperz.PM.Proxy.Offline.DataStore = function(args) { args = args || {}; this._data = args.data || (typeof(_clipperz_dump_data_) != 'undefined' ? _clipperz_dump_data_ : null); this._isReadOnly = (typeof(args.readOnly) == 'undefined' ? true : args.readOnly); this._shouldPayTolls = args.shouldPayTolls || false; this._tolls = {}; this._connections = {}; this._b = null; this._B = null; this._A = null; this._userData = null; return this; } //Clipperz.Base.extend(Clipperz.PM.Proxy.Offline.DataStore, Object, { Clipperz.PM.Proxy.Offline.DataStore.prototype = MochiKit.Base.update(null, { //------------------------------------------------------------------------- 'isReadOnly': function () { return this._isReadOnly; }, //------------------------------------------------------------------------- 'shouldPayTolls': function() { return this._shouldPayTolls; }, //------------------------------------------------------------------------- 'data': function () { return this._data; }, //------------------------------------------------------------------------- 'tolls': function () { return this._tolls; }, //------------------------------------------------------------------------- 'connections': function () { return this._connections; }, //========================================================================= 'resetData': function() { this._data = { 'users': { 'catchAllUser': { __masterkey_test_value__: 'masterkey', s: '112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00', v: '112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00' } } }; }, //------------------------------------------------------------------------- 'setupWithEncryptedData': function(someData) { this._data = Clipperz.Base.deepClone(someData); }, //------------------------------------------------------------------------- 'setupWithData': function(someData) { var deferredResult; var resultData; var i, c; //Clipperz.log(">>> Proxy.Test.setupWithData"); resultData = this._data; deferredResult = new MochiKit.Async.Deferred(); c = someData['users'].length; for (i=0; i<c; i++) { var newConnection; var recordConfiguration; deferredResult.addCallback(MochiKit.Base.method(this, 'userSerializedEncryptedData', someData['users'][i])); deferredResult.addCallback(MochiKit.Base.bind(function(aUserSerializationContext) { //console.log("SERIALIZED USER", aUserSerializationContext); resultData['users'][aUserSerializationContext['credentials']['C']] = { 's': aUserSerializationContext['credentials']['s'], 'v': aUserSerializationContext['credentials']['v'], 'version': aUserSerializationContext['data']['connectionVersion'], 'userDetails': aUserSerializationContext['encryptedData']['user']['header'], 'userDetailsVersion': aUserSerializationContext['encryptedData']['user']['version'], 'statistics': aUserSerializationContext['encryptedData']['user']['statistics'], 'lock': aUserSerializationContext['encryptedData']['user']['lock'], 'records': this.rearrangeRecordsData(aUserSerializationContext['encryptedData']['records']) } }, this)); } deferredResult.addCallback(MochiKit.Base.bind(function() { //console.log("this._data", resultData); this._data = resultData; }, this)); deferredResult.callback(); //Clipperz.log("<<< Proxy.Test.setupWithData"); return deferredResult; }, //========================================================================= 'b': function() { diff --git a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.js b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.js index 072f9bf..3cf499e 100644 --- a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.js +++ b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Offline.js @@ -1,73 +1,70 @@ /* Copyright 2008-2011 Clipperz Srl -This file is part of Clipperz's Javascript Crypto Library. -Javascript Crypto Library provides web developers with an extensive -and efficient set of cryptographic functions. The library aims to -obtain maximum execution speed while preserving modularity and -reusability. +This file is part of Clipperz Community Edition. +Clipperz Community Edition is an online password manager. For further information about its features and functionalities please -refer to http://www.clipperz.com +refer to http://www.clipperz.com. -* Javascript Crypto Library is free software: you can redistribute +* Clipperz Community Edition is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -* Javascript Crypto Library is distributed in the hope that it will +* Clipperz Community Edition is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Javascript Crypto Library. If not, see + License along with Clipperz Community Edition. If not, see <http://www.gnu.org/licenses/>. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } //============================================================================= Clipperz.PM.Proxy.Offline = function(args) { args = args || {}; Clipperz.PM.Proxy.Offline.superclass.constructor.call(this, args); this._dataStore = args.dataStore || new Clipperz.PM.Proxy.Offline.DataStore(args); return this; } YAHOO.extendX(Clipperz.PM.Proxy.Offline, Clipperz.PM.Proxy, { 'toString': function () { return "Clipperz.PM.Proxy.Offline"; }, //------------------------------------------------------------------------- 'dataStore': function () { return this._dataStore; }, //------------------------------------------------------------------------- 'sendMessage': function(aFunctionName, someParameters) { return this.dataStore().processMessage(aFunctionName, someParameters); }, //------------------------------------------------------------------------- 'isReadOnly': function () { return true; }, //------------------------------------------------------------------------- __syntaxFix__: "syntax fix" }); diff --git a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js index 6185fd6..34a10c2 100755 --- a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js +++ b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js @@ -1,152 +1,149 @@ /* Copyright 2008-2011 Clipperz Srl -This file is part of Clipperz's Javascript Crypto Library. -Javascript Crypto Library provides web developers with an extensive -and efficient set of cryptographic functions. The library aims to -obtain maximum execution speed while preserving modularity and -reusability. +This file is part of Clipperz Community Edition. +Clipperz Community Edition is an online password manager. For further information about its features and functionalities please -refer to http://www.clipperz.com +refer to http://www.clipperz.com. -* Javascript Crypto Library is free software: you can redistribute +* Clipperz Community Edition is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -* Javascript Crypto Library is distributed in the hope that it will +* Clipperz Community Edition is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Javascript Crypto Library. If not, see + License along with Clipperz Community Edition. If not, see <http://www.gnu.org/licenses/>. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } //============================================================================= Clipperz.PM.Proxy.PHP = function(args) { Clipperz.PM.Proxy.PHP.superclass.constructor.call(this, args); /* this._tolls = { 'CONNECT': [], 'REGISTER': [], 'MESSAGE': [] }; */ return this; } YAHOO.extendX(Clipperz.PM.Proxy.PHP, Clipperz.PM.Proxy, { 'toString': function() { return "Clipperz.PM.Proxy.PHP - " + this.args(); }, //========================================================================= /* 'tolls': function() { return this._tolls; }, */ //------------------------------------------------------------------------- /* 'payToll': function(aRequestType, someParameters) { var deferredResult; //MochiKit.Logging.logDebug(">>> Proxy.DWR.payToll: " + aRequestType); if (this.tolls()[aRequestType].length > 0) { deferredResult = MochiKit.Async.succeed(this.tolls()[aRequestType].pop()); } else { //MochiKit.Logging.logDebug("### " + aRequestType + " toll NOT immediately available; request queued."); deferredResult = new MochiKit.Async.Deferred(); deferredResult.addCallback(function(someParameters) { return new Clipperz.PM.Toll(someParameters['toll']); }) com_clipperz_pm_Proxy.knock(Clipperz.Base.serializeJSON({requestType:aRequestType}), { callback:MochiKit.Base.method(deferredResult, 'callback'), errorHandler:MochiKit.Base.method(deferredResult, 'errback') }); } deferredResult.addCallback(function(aToll) { return aToll.deferredPay(); }); deferredResult.addCallback(function(someParameters, aToll) { var result; result = { parameters: someParameters, toll: aToll } return result; }, someParameters); return deferredResult; }, */ //------------------------------------------------------------------------- /* 'addToll': function(aToll) { this.tolls()[aToll.requestType()].push(aToll); }, */ //========================================================================= /* 'setTollCallback': function(someParameters) { //MochiKit.Logging.logDebug(">>> Proxy.DWR.setTollCallback"); //MochiKit.Logging.logDebug("--- Proxy.DWR.setTollCallback - " + Clipperz.Base.serializeJSON(someParameters)); if (typeof(someParameters['toll']) != 'undefined') { this.addToll(new Clipperz.PM.Toll(someParameters['toll'])); } return someParameters['result']; }, */ //========================================================================= 'registration': function(someParameters) { return this.sendMessage('registration', someParameters, 'REGISTER'); }, //------------------------------------------------------------------------- 'handshake': function(someParameters) { /* _s = "e8a2162f29aeaabb729f5625e9740edbf0cd80ac77c6b19ab951ed6c88443b8c"; _v = new Clipperz.Crypto.BigInt("955e2db0f7844aca372f5799e5f7e51b5866718493096908bd66abcf1d068108", 16); _b = new Clipperz.Crypto.BigInt("5761e6c84d22ea3c5649de01702d60f674ccfe79238540eb34c61cd020230c53", 16); _B = _v.add(Clipperz.Crypto.SRP.g().powerModule(_b, Clipperz.Crypto.SRP.n())); _u = new Clipperz.Crypto.BigInt(Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_B.asString(10))).toHexString(), 16); _A = new Clipperz.Crypto.BigInt("3b3567ec33d73673552e960872eb154d091a2488915941038aef759236a27e64", 16); _S = (_A.multiply(_v.powerModule(_u, Clipperz.Crypto.SRP.n()))).powerModule(_b, Clipperz.Crypto.SRP.n()); _K = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_S.asString(10))).toHexString().slice(2); _M1 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _B.asString(10) + _K)).toHexString().slice(2); _M2 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _M1 + _K)).toHexString().slice(2); // MochiKit.Logging.logDebug("b = " + _b.asString(16)); // MochiKit.Logging.logDebug("v = " + _v.asString(16)); MochiKit.Logging.logDebug("B = " + _B.asString(16)); MochiKit.Logging.logDebug("u = " + _u.asString(16)); MochiKit.Logging.logDebug("S = " + _S.asString(16)); MochiKit.Logging.logDebug("K = " + _K); MochiKit.Logging.logDebug("M1 = " + _M1); MochiKit.Logging.logDebug("M2 = " + _M2); // MochiKit.Logging.logDebug("someParameters.version: " + someParameters.version); */ return this.sendMessage('handshake', someParameters, 'CONNECT'); }, //------------------------------------------------------------------------- 'message': function(someParameters) { return this.sendMessage('message', someParameters, 'MESSAGE'); }, diff --git a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Test.js b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Test.js index fd5bf8a..ce6e6d8 100644 --- a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Test.js +++ b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.Test.js @@ -1,94 +1,91 @@ /* Copyright 2008-2011 Clipperz Srl -This file is part of Clipperz's Javascript Crypto Library. -Javascript Crypto Library provides web developers with an extensive -and efficient set of cryptographic functions. The library aims to -obtain maximum execution speed while preserving modularity and -reusability. +This file is part of Clipperz Community Edition. +Clipperz Community Edition is an online password manager. For further information about its features and functionalities please -refer to http://www.clipperz.com +refer to http://www.clipperz.com. -* Javascript Crypto Library is free software: you can redistribute +* Clipperz Community Edition is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -* Javascript Crypto Library is distributed in the hope that it will +* Clipperz Community Edition is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Javascript Crypto Library. If not, see + License along with Clipperz Community Edition. If not, see <http://www.gnu.org/licenses/>. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Proxy) == 'undefined') { Clipperz.PM.Proxy = {}; } //============================================================================= Clipperz.PM.Proxy.Test = function(args) { args = args || {}; Clipperz.PM.Proxy.Offline.call(this, args); return this; } Clipperz.PM.Proxy.Test.prototype = MochiKit.Base.update(new Clipperz.PM.Proxy.Offline(), { 'toString': function() { return "Clipperz.PM.Proxy.Test"; }, //------------------------------------------------------------------------- 'isTestData': function() { return typeof(this.userData()['__masterkey_test_value__'] != 'undefined'); }, //------------------------------------------------------------------------- 'userDetails': function() { var result; if (this.isTestData()) { var serializedHeader; var version; version = this.userData()['version']; serializedHeader = Clipperz.Base.serializeJSON(this.userData()['userDetails']); result = Clipperz.PM.Crypto.encryptingFunctions.versions[version].encrypt(this.userData()['__masterkey_test_value__'], serializedHeader); } else { result = Clipperz.PM.Proxy.Offline.prototype.userDetails.call(this); } return result; }, //------------------------------------------------------------------------- 'statistics': function() { var result; var serializedStatistics; var version; version = this.userData()['version']; serializedStatistics = Clipperz.Base.serializeJSON(this.userData()['statistics']); result = Clipperz.PM.Crypto.encryptingFunctions.versions[version].encrypt(this.userData()['__masterkey_test_value__'], serializedStatistics); return result; }, //------------------------------------------------------------------------- __syntaxFix__: "syntax fix" }); |