Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js') (more/less context) (ignore whitespace changes)
-rwxr-xr-x | frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js | 15 |
1 files changed, 6 insertions, 9 deletions
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 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | 28 | ||
32 | //============================================================================= | 29 | //============================================================================= |
33 | 30 | ||
34 | Clipperz.PM.Proxy.PHP = function(args) { | 31 | Clipperz.PM.Proxy.PHP = function(args) { |
35 | Clipperz.PM.Proxy.PHP.superclass.constructor.call(this, args); | 32 | Clipperz.PM.Proxy.PHP.superclass.constructor.call(this, args); |
36 | /* | 33 | /* |
37 | this._tolls = { | 34 | this._tolls = { |
38 | 'CONNECT':[], | 35 | 'CONNECT':[], |
39 | 'REGISTER':[], | 36 | 'REGISTER':[], |
40 | 'MESSAGE':[] | 37 | 'MESSAGE':[] |
41 | }; | 38 | }; |
42 | */ | 39 | */ |
43 | return this; | 40 | return this; |
44 | } | 41 | } |
45 | 42 | ||
46 | YAHOO.extendX(Clipperz.PM.Proxy.PHP, Clipperz.PM.Proxy, { | 43 | YAHOO.extendX(Clipperz.PM.Proxy.PHP, Clipperz.PM.Proxy, { |
47 | 44 | ||
48 | 'toString': function() { | 45 | 'toString': function() { |
49 | return "Clipperz.PM.Proxy.PHP - " + this.args(); | 46 | return "Clipperz.PM.Proxy.PHP - " + this.args(); |
50 | }, | 47 | }, |
51 | 48 | ||
52 | //========================================================================= | 49 | //========================================================================= |
53 | /* | 50 | /* |
54 | 'tolls': function() { | 51 | 'tolls': function() { |
55 | return this._tolls; | 52 | return this._tolls; |
56 | }, | 53 | }, |
57 | */ | 54 | */ |
58 | //------------------------------------------------------------------------- | 55 | //------------------------------------------------------------------------- |
59 | /* | 56 | /* |
60 | 'payToll': function(aRequestType, someParameters) { | 57 | 'payToll': function(aRequestType, someParameters) { |
61 | vardeferredResult; | 58 | vardeferredResult; |
62 | 59 | ||
63 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.payToll: " + aRequestType); | 60 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.payToll: " + aRequestType); |
64 | if (this.tolls()[aRequestType].length > 0) { | 61 | if (this.tolls()[aRequestType].length > 0) { |
65 | deferredResult = MochiKit.Async.succeed(this.tolls()[aRequestType].pop()); | 62 | deferredResult = MochiKit.Async.succeed(this.tolls()[aRequestType].pop()); |
66 | } else { | 63 | } else { |
67 | //MochiKit.Logging.logDebug("### " + aRequestType + " toll NOT immediately available; request queued."); | 64 | //MochiKit.Logging.logDebug("### " + aRequestType + " toll NOT immediately available; request queued."); |
68 | deferredResult = new MochiKit.Async.Deferred(); | 65 | deferredResult = new MochiKit.Async.Deferred(); |
69 | deferredResult.addCallback(function(someParameters) { | 66 | deferredResult.addCallback(function(someParameters) { |
70 | return new Clipperz.PM.Toll(someParameters['toll']); | 67 | return new Clipperz.PM.Toll(someParameters['toll']); |
71 | }) | 68 | }) |
72 | com_clipperz_pm_Proxy.knock(Clipperz.Base.serializeJSON({requestType:aRequestType}), { | 69 | com_clipperz_pm_Proxy.knock(Clipperz.Base.serializeJSON({requestType:aRequestType}), { |
73 | callback:MochiKit.Base.method(deferredResult, 'callback'), | 70 | callback:MochiKit.Base.method(deferredResult, 'callback'), |
74 | errorHandler:MochiKit.Base.method(deferredResult, 'errback') | 71 | errorHandler:MochiKit.Base.method(deferredResult, 'errback') |
75 | }); | 72 | }); |
76 | } | 73 | } |
77 | 74 | ||
78 | deferredResult.addCallback(function(aToll) { | 75 | deferredResult.addCallback(function(aToll) { |
79 | return aToll.deferredPay(); | 76 | return aToll.deferredPay(); |
80 | }); | 77 | }); |
81 | deferredResult.addCallback(function(someParameters, aToll) { | 78 | deferredResult.addCallback(function(someParameters, aToll) { |
82 | var result; | 79 | var result; |
83 | 80 | ||
84 | result = { | 81 | result = { |
85 | parameters: someParameters, | 82 | parameters: someParameters, |
86 | toll: aToll | 83 | toll: aToll |
87 | } | 84 | } |
88 | 85 | ||
89 | return result; | 86 | return result; |
90 | }, someParameters); | 87 | }, someParameters); |
91 | 88 | ||
92 | return deferredResult; | 89 | return deferredResult; |
93 | }, | 90 | }, |
94 | */ | 91 | */ |
95 | //------------------------------------------------------------------------- | 92 | //------------------------------------------------------------------------- |
96 | /* | 93 | /* |
97 | 'addToll': function(aToll) { | 94 | 'addToll': function(aToll) { |
98 | this.tolls()[aToll.requestType()].push(aToll); | 95 | this.tolls()[aToll.requestType()].push(aToll); |
99 | }, | 96 | }, |
100 | */ | 97 | */ |
101 | //========================================================================= | 98 | //========================================================================= |
102 | /* | 99 | /* |
103 | 'setTollCallback': function(someParameters) { | 100 | 'setTollCallback': function(someParameters) { |
104 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.setTollCallback"); | 101 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.setTollCallback"); |
105 | //MochiKit.Logging.logDebug("--- Proxy.DWR.setTollCallback - " + Clipperz.Base.serializeJSON(someParameters)); | 102 | //MochiKit.Logging.logDebug("--- Proxy.DWR.setTollCallback - " + Clipperz.Base.serializeJSON(someParameters)); |
106 | if (typeof(someParameters['toll']) != 'undefined') { | 103 | if (typeof(someParameters['toll']) != 'undefined') { |
107 | this.addToll(new Clipperz.PM.Toll(someParameters['toll'])); | 104 | this.addToll(new Clipperz.PM.Toll(someParameters['toll'])); |
108 | } | 105 | } |
109 | return someParameters['result']; | 106 | return someParameters['result']; |
110 | }, | 107 | }, |
111 | */ | 108 | */ |
112 | //========================================================================= | 109 | //========================================================================= |
113 | 110 | ||
114 | 'registration': function(someParameters) { | 111 | 'registration': function(someParameters) { |
115 | return this.sendMessage('registration', someParameters, 'REGISTER'); | 112 | return this.sendMessage('registration', someParameters, 'REGISTER'); |
116 | }, | 113 | }, |
117 | 114 | ||
118 | //------------------------------------------------------------------------- | 115 | //------------------------------------------------------------------------- |
119 | 116 | ||
120 | 'handshake': function(someParameters) { | 117 | 'handshake': function(someParameters) { |
121 | /* | 118 | /* |
122 | _s = "e8a2162f29aeaabb729f5625e9740edbf0cd80ac77c6b19ab951ed6c88443b8c"; | 119 | _s = "e8a2162f29aeaabb729f5625e9740edbf0cd80ac77c6b19ab951ed6c88443b8c"; |
123 | _v = new Clipperz.Crypto.BigInt("955e2db0f7844aca372f5799e5f7e51b5866718493096908bd66abcf1d068108", 16); | 120 | _v = new Clipperz.Crypto.BigInt("955e2db0f7844aca372f5799e5f7e51b5866718493096908bd66abcf1d068108", 16); |
124 | _b = new Clipperz.Crypto.BigInt("5761e6c84d22ea3c5649de01702d60f674ccfe79238540eb34c61cd020230c53", 16); | 121 | _b = new Clipperz.Crypto.BigInt("5761e6c84d22ea3c5649de01702d60f674ccfe79238540eb34c61cd020230c53", 16); |
125 | 122 | ||
126 | _B = _v.add(Clipperz.Crypto.SRP.g().powerModule(_b, Clipperz.Crypto.SRP.n())); | 123 | _B = _v.add(Clipperz.Crypto.SRP.g().powerModule(_b, Clipperz.Crypto.SRP.n())); |
127 | _u = new Clipperz.Crypto.BigInt(Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_B.asString(10))).toHexString(), 16); | 124 | _u = new Clipperz.Crypto.BigInt(Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_B.asString(10))).toHexString(), 16); |
128 | _A = new Clipperz.Crypto.BigInt("3b3567ec33d73673552e960872eb154d091a2488915941038aef759236a27e64", 16); | 125 | _A = new Clipperz.Crypto.BigInt("3b3567ec33d73673552e960872eb154d091a2488915941038aef759236a27e64", 16); |
129 | _S = (_A.multiply(_v.powerModule(_u, Clipperz.Crypto.SRP.n()))).powerModule(_b, Clipperz.Crypto.SRP.n()); | 126 | _S = (_A.multiply(_v.powerModule(_u, Clipperz.Crypto.SRP.n()))).powerModule(_b, Clipperz.Crypto.SRP.n()); |
130 | _K = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_S.asString(10))).toHexString().slice(2); | 127 | _K = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_S.asString(10))).toHexString().slice(2); |
131 | _M1 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _B.asString(10) + _K)).toHexString().slice(2); | 128 | _M1 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _B.asString(10) + _K)).toHexString().slice(2); |
132 | _M2 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _M1 + _K)).toHexString().slice(2); | 129 | _M2 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _M1 + _K)).toHexString().slice(2); |
133 | 130 | ||
134 | // MochiKit.Logging.logDebug("b = " + _b.asString(16)); | 131 | // MochiKit.Logging.logDebug("b = " + _b.asString(16)); |
135 | // MochiKit.Logging.logDebug("v = " + _v.asString(16)); | 132 | // MochiKit.Logging.logDebug("v = " + _v.asString(16)); |
136 | MochiKit.Logging.logDebug("B = " + _B.asString(16)); | 133 | MochiKit.Logging.logDebug("B = " + _B.asString(16)); |
137 | MochiKit.Logging.logDebug("u = " + _u.asString(16)); | 134 | MochiKit.Logging.logDebug("u = " + _u.asString(16)); |
138 | MochiKit.Logging.logDebug("S = " + _S.asString(16)); | 135 | MochiKit.Logging.logDebug("S = " + _S.asString(16)); |
139 | MochiKit.Logging.logDebug("K = " + _K); | 136 | MochiKit.Logging.logDebug("K = " + _K); |
140 | MochiKit.Logging.logDebug("M1 = " + _M1); | 137 | MochiKit.Logging.logDebug("M1 = " + _M1); |
141 | MochiKit.Logging.logDebug("M2 = " + _M2); | 138 | MochiKit.Logging.logDebug("M2 = " + _M2); |
142 | // MochiKit.Logging.logDebug("someParameters.version: " + someParameters.version); | 139 | // MochiKit.Logging.logDebug("someParameters.version: " + someParameters.version); |
143 | */ | 140 | */ |
144 | return this.sendMessage('handshake', someParameters, 'CONNECT'); | 141 | return this.sendMessage('handshake', someParameters, 'CONNECT'); |
145 | }, | 142 | }, |
146 | 143 | ||
147 | //------------------------------------------------------------------------- | 144 | //------------------------------------------------------------------------- |
148 | 145 | ||
149 | 'message': function(someParameters) { | 146 | 'message': function(someParameters) { |
150 | return this.sendMessage('message', someParameters, 'MESSAGE'); | 147 | return this.sendMessage('message', someParameters, 'MESSAGE'); |
151 | }, | 148 | }, |
152 | 149 | ||