Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Connection.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/beta/js/Clipperz/PM/Connection.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Connection.js b/frontend/beta/js/Clipperz/PM/Connection.js index 85aea21..e81c7a6 100644 --- a/frontend/beta/js/Clipperz/PM/Connection.js +++ b/frontend/beta/js/Clipperz/PM/Connection.js | |||
@@ -287,29 +287,33 @@ deferredResult.addErrback(MochiKit.Base.bind(function(res) {MochiKit.Logging.log | |||
287 | //# deferredResult.addCallback(MochiKit.Base.method(this, 'loginDone')); | 287 | //# deferredResult.addCallback(MochiKit.Base.method(this, 'loginDone')); |
288 | deferredResult.addCallback(MochiKit.Base.bind(function(someParameters) { | 288 | deferredResult.addCallback(MochiKit.Base.bind(function(someParameters) { |
289 | var result; | 289 | var result; |
290 | 290 | ||
291 | //MochiKit.Logging.logDebug(">>> Connection.loginDone: " + this + " (M2: " + this.srpConnection().M2() + ")"); | 291 | //MochiKit.Logging.logDebug(">>> Connection.loginDone: " + this + " (M2: " + this.srpConnection().M2() + ")"); |
292 | if (someParameters['M2'] == this.srpConnection().M2()) { | 292 | if (someParameters['M2'] == this.srpConnection().M2()) { |
293 | result = new MochiKit.Async.Deferred(); | 293 | result = new MochiKit.Async.Deferred(); |
294 | 294 | ||
295 | //MochiKit.Logging.logDebug("--- Connection.loginDone - someParameters: " + Clipperz.Base.serializeJSON(someParameters)); | 295 | //MochiKit.Logging.logDebug("--- Connection.loginDone - someParameters: " + Clipperz.Base.serializeJSON(someParameters)); |
296 | this.setConnectionId(someParameters['connectionId']); | 296 | this.setConnectionId(someParameters['connectionId']); |
297 | this.user().setLoginInfo(someParameters['loginInfo']); | 297 | this.user().setLoginInfo(someParameters['loginInfo']); |
298 | this.user().setShouldDownloadOfflineCopy(someParameters['offlineCopyNeeded']); | 298 | this.user().setShouldDownloadOfflineCopy(someParameters['offlineCopyNeeded']); |
299 | this.user().setLock(someParameters['lock']); | 299 | |
300 | if ((isReconnecting == true) && (this.user().lock() != someParameters['lock'])) { | ||
301 | throw Clipperz.PM.Connection.exception.StaleData; | ||
302 | } | ||
300 | 303 | ||
301 | if (this.oneTimePassword() != null) { | 304 | if (this.oneTimePassword() != null) { |
302 | result.addCallback(MochiKit.Base.method(this.user().oneTimePasswordManager(), 'archiveOneTimePassword', this.oneTimePassword())); | 305 | result.addCallback(MochiKit.Base.method(this.user().oneTimePasswordManager(), 'archiveOneTimePassword', this.oneTimePassword())); |
303 | } | 306 | } |
307 | |||
304 | result.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'connection_loggedIn'); | 308 | result.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'connection_loggedIn'); |
305 | result.addCallback(MochiKit.Async.succeed, someParameters); | 309 | result.addCallback(MochiKit.Async.succeed, someParameters); |
306 | 310 | ||
307 | result.callback(); | 311 | result.callback(); |
308 | //MochiKit.Logging.logDebug("--- Connection.loginDone - 1 - result: "/* + Clipperz.Base.serializeJSON(result)*/); | 312 | //MochiKit.Logging.logDebug("--- Connection.loginDone - 1 - result: "/* + Clipperz.Base.serializeJSON(result)*/); |
309 | } else { | 313 | } else { |
310 | //MochiKit.Logging.logDebug("--- Connection.loginDone - 2 - ERROR"); | 314 | //MochiKit.Logging.logDebug("--- Connection.loginDone - 2 - ERROR"); |
311 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 315 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
312 | result = MochiKit.Async.fail(Clipperz.PM.Connection.exception.WrongChecksum); | 316 | result = MochiKit.Async.fail(Clipperz.PM.Connection.exception.WrongChecksum); |
313 | } | 317 | } |
314 | //MochiKit.Logging.logDebug("<<< Connection.loginDone - result: " + Clipperz.Base.serializeJSON(result)); | 318 | //MochiKit.Logging.logDebug("<<< Connection.loginDone - result: " + Clipperz.Base.serializeJSON(result)); |
315 | 319 | ||
@@ -568,14 +572,15 @@ Clipperz.PM.Connection.SRP['1.1'].prototype = MochiKit.Base.update(new Clipperz. | |||
568 | //----------------------------------------------------------------------------- | 572 | //----------------------------------------------------------------------------- |
569 | 573 | ||
570 | 'hash': function() { | 574 | 'hash': function() { |
571 | return Clipperz.PM.Crypto.encryptingFunctions.versions['0.2'].hash; | 575 | return Clipperz.PM.Crypto.encryptingFunctions.versions['0.2'].hash; |
572 | }, | 576 | }, |
573 | 577 | ||
574 | //----------------------------------------------------------------------------- | 578 | //----------------------------------------------------------------------------- |
575 | __syntaxFix__: "syntax fix" | 579 | __syntaxFix__: "syntax fix" |
576 | 580 | ||
577 | }); | 581 | }); |
578 | 582 | ||
579 | Clipperz.PM.Connection.exception = { | 583 | Clipperz.PM.Connection.exception = { |
580 | WrongChecksum: new MochiKit.Base.NamedError("Clipperz.ByteArray.exception.InvalidValue") | 584 | WrongChecksum: new MochiKit.Base.NamedError("Clipperz.ByteArray.exception.InvalidValue"), |
585 | StaleData: new MochiKit.Base.NamedError("Stale data") | ||
581 | }; | 586 | }; |