author | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2011-10-04 23:24:50 (UTC) |
---|---|---|
committer | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2011-10-04 23:24:50 (UTC) |
commit | 3065be1b71e4c40428cfa192de560c970ba7f8b3 (patch) (unidiff) | |
tree | bd030652e7c1e1556125beeaf7f18e174ab79385 | |
parent | c53c209c9b1e86f375aea9262fdb3170cae61ebc (diff) | |
parent | bf22713a7251a2b32700a67456a086a283dbe33a (diff) | |
download | clipperz-3065be1b71e4c40428cfa192de560c970ba7f8b3.zip clipperz-3065be1b71e4c40428cfa192de560c970ba7f8b3.tar.gz clipperz-3065be1b71e4c40428cfa192de560c970ba7f8b3.tar.bz2 |
Merge branch 'timeout'
-rw-r--r-- | backend/php/src/index.php | 7 | ||||
-rwxr-xr-x | frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/backend/php/src/index.php b/backend/php/src/index.php index eb3d75a..58c10a9 100644 --- a/backend/php/src/index.php +++ b/backend/php/src/index.php | |||
@@ -340,405 +340,408 @@ error_log("oneTimePassword"); | |||
340 | 340 | ||
341 | if ($currentOtp->GetOnetimepasswordstatus()->code == "ACTIVE") { | 341 | if ($currentOtp->GetOnetimepasswordstatus()->code == "ACTIVE") { |
342 | if ($currentOtp->key_checksum == $parameters["parameters"]["oneTimePasswordKeyChecksum"]) { | 342 | if ($currentOtp->key_checksum == $parameters["parameters"]["oneTimePasswordKeyChecksum"]) { |
343 | $_SESSION["userId"] = $currentOtp->GetUser()->userId; | 343 | $_SESSION["userId"] = $currentOtp->GetUser()->userId; |
344 | $_SESSION["otpId"]= $currentOtp->onetimepasswordId; | 344 | $_SESSION["otpId"]= $currentOtp->onetimepasswordId; |
345 | 345 | ||
346 | $result["data"] = $currentOtp->data; | 346 | $result["data"] = $currentOtp->data; |
347 | $result["version"] = $currentOtp->version; | 347 | $result["version"] = $currentOtp->version; |
348 | 348 | ||
349 | resetOTP($currentOtp, "REQUESTED"); | 349 | resetOTP($currentOtp, "REQUESTED"); |
350 | } else { | 350 | } else { |
351 | resetOTP($currentOtp, "DISABLED"); | 351 | resetOTP($currentOtp, "DISABLED"); |
352 | throw new Exception("The requested One Time Password has been disabled, due to a wrong keyChecksum"); | 352 | throw new Exception("The requested One Time Password has been disabled, due to a wrong keyChecksum"); |
353 | } | 353 | } |
354 | } else { | 354 | } else { |
355 | throw new Exception("The requested One Time Password was not active"); | 355 | throw new Exception("The requested One Time Password was not active"); |
356 | } | 356 | } |
357 | } else { | 357 | } else { |
358 | throw new Exception("The requested One Time Password has not been found"); | 358 | throw new Exception("The requested One Time Password has not been found"); |
359 | } | 359 | } |
360 | 360 | ||
361 | //============================================================= | 361 | //============================================================= |
362 | } | 362 | } |
363 | 363 | ||
364 | break; | 364 | break; |
365 | 365 | ||
366 | case "message": | 366 | case "message": |
367 | error_log("message"); | 367 | error_log("message"); |
368 | if ($parameters["srpSharedSecret"] == $_SESSION["K"]) { | 368 | if ($parameters["srpSharedSecret"] == $_SESSION["K"]) { |
369 | $message = $parameters["message"]; | 369 | $message = $parameters["message"]; |
370 | 370 | ||
371 | //============================================================= | 371 | //============================================================= |
372 | if ($message == "getUserDetails") { | 372 | if ($message == "getUserDetails") { |
373 | //{"message":"getUserDetails", "srpSharedSecret":"f18e5cf7c3a83b67d4db9444af813ee48c13daf4f8f6635397d593e52ba89a08", "parameters":{}} | 373 | //{"message":"getUserDetails", "srpSharedSecret":"f18e5cf7c3a83b67d4db9444af813ee48c13daf4f8f6635397d593e52ba89a08", "parameters":{}} |
374 | $user = new user(); | 374 | $user = new user(); |
375 | $user = $user->Get($_SESSION["userId"]); | 375 | $user = $user->Get($_SESSION["userId"]); |
376 | 376 | ||
377 | $result["header"] = $user->header; | 377 | $result["header"] = $user->header; |
378 | $result["statistics"] =$user->statistics; | 378 | $result["statistics"] =$user->statistics; |
379 | $result["version"] =$user->version; | 379 | $result["version"] =$user->version; |
380 | 380 | ||
381 | //============================================================= | 381 | //============================================================= |
382 | } else if ($message == "addNewRecords") { | 382 | } else if ($message == "addNewRecords") { |
383 | /* | 383 | /* |
384 | //{ | 384 | //{ |
385 | //"message":"addNewRecords", | 385 | //"message":"addNewRecords", |
386 | //"srpSharedSecret":"b58fdf62acebbcb67f63d28c0437f166069f45690c648cd4376a792ae7a325f7", | 386 | //"srpSharedSecret":"b58fdf62acebbcb67f63d28c0437f166069f45690c648cd4376a792ae7a325f7", |
387 | //"parameters":{ | 387 | //"parameters":{ |
388 | // "records":[ | 388 | // "records":[ |
389 | // { | 389 | // { |
390 | // "record":{ | 390 | // "record":{ |
391 | // "reference":"fda703707fee1fff42443124cd0e705f5bea0ac601758d81b2e832705339a610", | 391 | // "reference":"fda703707fee1fff42443124cd0e705f5bea0ac601758d81b2e832705339a610", |
392 | // "data":"OBSGtcb6blXq/xaYG.....4EqlQqgAvITN", | 392 | // "data":"OBSGtcb6blXq/xaYG.....4EqlQqgAvITN", |
393 | // "version":"0.3" | 393 | // "version":"0.3" |
394 | // }, | 394 | // }, |
395 | // "currentRecordVersion":{ | 395 | // "currentRecordVersion":{ |
396 | // "reference":"83ad301525c18f2afd72b6ac82c0a713382e1ef70ac69935ca7e2869dd4ff980", | 396 | // "reference":"83ad301525c18f2afd72b6ac82c0a713382e1ef70ac69935ca7e2869dd4ff980", |
397 | // "recordReference":"fda703707fee1fff42443124cd0e705f5bea0ac601758d81b2e832705339a610", | 397 | // "recordReference":"fda703707fee1fff42443124cd0e705f5bea0ac601758d81b2e832705339a610", |
398 | // "data":"NXJ5jiZhkd0CMiwwntAq....1TjjF+SGfE=", | 398 | // "data":"NXJ5jiZhkd0CMiwwntAq....1TjjF+SGfE=", |
399 | // "version":"0.3", | 399 | // "version":"0.3", |
400 | // "previousVersion":"3e174a86afc322271d8af28bc062b0f1bfd7344fad01212cd08b2757c4b199c4", | 400 | // "previousVersion":"3e174a86afc322271d8af28bc062b0f1bfd7344fad01212cd08b2757c4b199c4", |
401 | // "previousVersionKey":"kozaaGCzXWr71LbOKu6Z3nz520V..5U85tSBvb+u44twttv54Kw==" | 401 | // "previousVersionKey":"kozaaGCzXWr71LbOKu6Z3nz520V..5U85tSBvb+u44twttv54Kw==" |
402 | // } | 402 | // } |
403 | // } | 403 | // } |
404 | // ], | 404 | // ], |
405 | // "user":{ | 405 | // "user":{ |
406 | // "header":"{\"reco...ersion\":\"0.1\"}", | 406 | // "header":"{\"reco...ersion\":\"0.1\"}", |
407 | // "statistics":"rKI6nR6iqggygQJ3SQ58bFUX", | 407 | // "statistics":"rKI6nR6iqggygQJ3SQ58bFUX", |
408 | // "version":"0.3", | 408 | // "version":"0.3", |
409 | // "lock":"----" | 409 | // "lock":"----" |
410 | // } | 410 | // } |
411 | //} | 411 | //} |
412 | //} | 412 | //} |
413 | */ | 413 | */ |
414 | $user = new user(); | 414 | $user = new user(); |
415 | $record = new record(); | 415 | $record = new record(); |
416 | $recordVersion = new recordversion(); | 416 | $recordVersion = new recordversion(); |
417 | 417 | ||
418 | $user = $user->Get($_SESSION["userId"]); | 418 | $user = $user->Get($_SESSION["userId"]); |
419 | updateUserData($parameters["parameters"]["user"], $user); | 419 | updateUserData($parameters["parameters"]["user"], $user); |
420 | 420 | ||
421 | $recordParameterList = $parameters["parameters"]["records"]; | 421 | $recordParameterList = $parameters["parameters"]["records"]; |
422 | $c = count($recordParameterList); | 422 | $c = count($recordParameterList); |
423 | for ($i=0; $i<$c; $i++) { | 423 | for ($i=0; $i<$c; $i++) { |
424 | updateRecordData($recordParameterList[$i], $record, $recordVersion); | 424 | updateRecordData($recordParameterList[$i], $record, $recordVersion); |
425 | 425 | ||
426 | $record->SaveNew(); | 426 | $record->SaveNew(); |
427 | $recordVersion->SaveNew(); | 427 | $recordVersion->SaveNew(); |
428 | 428 | ||
429 | $record->AddRecordversion($recordVersion); | 429 | $record->AddRecordversion($recordVersion); |
430 | $user->AddRecord($record); | 430 | $user->AddRecord($record); |
431 | 431 | ||
432 | $record->Save(); | 432 | $record->Save(); |
433 | $recordVersion->Save(); | 433 | $recordVersion->Save(); |
434 | } | 434 | } |
435 | 435 | ||
436 | $user->Save(); | 436 | $user->Save(); |
437 | 437 | ||
438 | $result["lock"] = $user->lock; | 438 | $result["lock"] = $user->lock; |
439 | $result["result"] = "done"; | 439 | $result["result"] = "done"; |
440 | 440 | ||
441 | //============================================================= | 441 | //============================================================= |
442 | } else if ($message == "getRecordDetail") { | 442 | } else if ($message == "getRecordDetail") { |
443 | //{ | 443 | //{ |
444 | //"message":"getRecordDetail", | 444 | //"message":"getRecordDetail", |
445 | //"srpSharedSecret":"4c00dcb66a9f2aea41a87e4707c526874e2eb29cc72d2c7086837e53d6bf2dfe", | 445 | //"srpSharedSecret":"4c00dcb66a9f2aea41a87e4707c526874e2eb29cc72d2c7086837e53d6bf2dfe", |
446 | //"parameters":{ | 446 | //"parameters":{ |
447 | // "reference":"740009737139a189cfa2b1019a6271aaa39467b59e259706564b642ff3838d50" | 447 | // "reference":"740009737139a189cfa2b1019a6271aaa39467b59e259706564b642ff3838d50" |
448 | //} | 448 | //} |
449 | //} | 449 | //} |
450 | // | 450 | // |
451 | //result = { | 451 | //result = { |
452 | // currentVersion:{ | 452 | // currentVersion:{ |
453 | // reference:"88943d709c3ea2442d4f58eaaec6409276037e5a37e0a6d167b9dad9e947e854", | 453 | // reference:"88943d709c3ea2442d4f58eaaec6409276037e5a37e0a6d167b9dad9e947e854", |
454 | // accessDate:"Wed, 13 February 2008 14:25:12 UTC", | 454 | // accessDate:"Wed, 13 February 2008 14:25:12 UTC", |
455 | // creationDate:"Tue, 17 April 2007 17:17:52 UTC", | 455 | // creationDate:"Tue, 17 April 2007 17:17:52 UTC", |
456 | // version:"0.2", | 456 | // version:"0.2", |
457 | // data:"xI3WXddQLFtL......EGyKnnAVik", | 457 | // data:"xI3WXddQLFtL......EGyKnnAVik", |
458 | // updateDate:"Tue, 17 April 2007 17:17:52 UTC", | 458 | // updateDate:"Tue, 17 April 2007 17:17:52 UTC", |
459 | // header:"####" | 459 | // header:"####" |
460 | // } | 460 | // } |
461 | // reference:"13a5e52976337ab210903cd04872588e1b21fb72bc183e91aa25c494b8138551", | 461 | // reference:"13a5e52976337ab210903cd04872588e1b21fb72bc183e91aa25c494b8138551", |
462 | // oldestUsedEncryptedVersion:"0.2", | 462 | // oldestUsedEncryptedVersion:"0.2", |
463 | // accessDate:"Wed, 13 February 2008 14:25:12 UTC", | 463 | // accessDate:"Wed, 13 February 2008 14:25:12 UTC", |
464 | // creationDate:"Wed, 14 March 2007 13:53:11 UTC", | 464 | // creationDate:"Wed, 14 March 2007 13:53:11 UTC", |
465 | // version:"0.2", | 465 | // version:"0.2", |
466 | // updatedDate:"Tue, 17 April 2007 17:17:52 UTC", | 466 | // updatedDate:"Tue, 17 April 2007 17:17:52 UTC", |
467 | // data:"0/BjzyY6jeh71h...pAw2++NEyylGhMC5C5f5m8pBApYziN84s4O3JQ3khW/1UttQl4=" | 467 | // data:"0/BjzyY6jeh71h...pAw2++NEyylGhMC5C5f5m8pBApYziN84s4O3JQ3khW/1UttQl4=" |
468 | //} | 468 | //} |
469 | $record = new record(); | 469 | $record = new record(); |
470 | 470 | ||
471 | $recordList = $record->GetList(array(array("reference", "=", $parameters["parameters"]["reference"]))); | 471 | $recordList = $record->GetList(array(array("reference", "=", $parameters["parameters"]["reference"]))); |
472 | $currentRecord = $recordList[0]; | 472 | $currentRecord = $recordList[0]; |
473 | $currentRecordVersions = $currentRecord->GetRecordversionList(); | 473 | $currentRecordVersions = $currentRecord->GetRecordversionList(); |
474 | $currentVersion = $currentRecordVersions[0]; | 474 | $currentVersion = $currentRecordVersions[0]; |
475 | 475 | ||
476 | $result["currentVersion"] = array(); | 476 | $result["currentVersion"] = array(); |
477 | $result["currentVersion"]["reference"] =$currentVersion->reference; | 477 | $result["currentVersion"]["reference"] =$currentVersion->reference; |
478 | $result["currentVersion"]["data"] = $currentVersion->data; | 478 | $result["currentVersion"]["data"] = $currentVersion->data; |
479 | $result["currentVersion"]["header"] = $currentVersion->header; | 479 | $result["currentVersion"]["header"] = $currentVersion->header; |
480 | $result["currentVersion"]["version"] = $currentVersion->version; | 480 | $result["currentVersion"]["version"] = $currentVersion->version; |
481 | $result["currentVersion"]["creationDate"] =$currentVersion->creation_date; | 481 | $result["currentVersion"]["creationDate"] =$currentVersion->creation_date; |
482 | $result["currentVersion"]["updateDate"] =$currentVersion->update_date; | 482 | $result["currentVersion"]["updateDate"] =$currentVersion->update_date; |
483 | $result["currentVersion"]["accessDate"] =$currentVersion->access_date; | 483 | $result["currentVersion"]["accessDate"] =$currentVersion->access_date; |
484 | 484 | ||
485 | $result["reference"] = $currentRecord->reference; | 485 | $result["reference"] = $currentRecord->reference; |
486 | $result["data"] = $currentRecord->data; | 486 | $result["data"] = $currentRecord->data; |
487 | $result["version"] = $currentRecord->version; | 487 | $result["version"] = $currentRecord->version; |
488 | $result["creationDate"] =$currentRecord->creation_date; | 488 | $result["creationDate"] =$currentRecord->creation_date; |
489 | $result["updateDate"] = $currentRecord->update_date; | 489 | $result["updateDate"] = $currentRecord->update_date; |
490 | $result["accessDate"] = $currentRecord->access_date; | 490 | $result["accessDate"] = $currentRecord->access_date; |
491 | $result["oldestUsedEncryptedVersion"] ="---"; | 491 | $result["oldestUsedEncryptedVersion"] ="---"; |
492 | 492 | ||
493 | //============================================================= | 493 | //============================================================= |
494 | } else if ($message == "updateData") { | 494 | } else if ($message == "updateData") { |
495 | //{ | 495 | //{ |
496 | //"message":"updateData", | 496 | //"message":"updateData", |
497 | //"srpSharedSecret":"4e4aadb1d64513ec4dd42f5e8d5b2d4363de75e4424b6bcf178c9d6a246356c5", | 497 | //"srpSharedSecret":"4e4aadb1d64513ec4dd42f5e8d5b2d4363de75e4424b6bcf178c9d6a246356c5", |
498 | //"parameters":{ | 498 | //"parameters":{ |
499 | // "records":[ | 499 | // "records":[ |
500 | // { | 500 | // { |
501 | // "record":{ | 501 | // "record":{ |
502 | // "reference":"740009737139a189cfa2b1019a6271aaa39467b59e259706564b642ff3838d50", | 502 | // "reference":"740009737139a189cfa2b1019a6271aaa39467b59e259706564b642ff3838d50", |
503 | // "data":"8hgR0Z+JDrUa812polDJ....JnZUKXNEqKI", | 503 | // "data":"8hgR0Z+JDrUa812polDJ....JnZUKXNEqKI", |
504 | // "version":"0.3" | 504 | // "version":"0.3" |
505 | // }, | 505 | // }, |
506 | // "currentRecordVersion":{ | 506 | // "currentRecordVersion":{ |
507 | // "reference":"b1d82aeb9a0c4f6584bea68ba80839f43dd6ede79791549e29a1860554b144ee", | 507 | // "reference":"b1d82aeb9a0c4f6584bea68ba80839f43dd6ede79791549e29a1860554b144ee", |
508 | // "recordReference":"740009737139a189cfa2b1019a6271aaa39467b59e259706564b642ff3838d50", | 508 | // "recordReference":"740009737139a189cfa2b1019a6271aaa39467b59e259706564b642ff3838d50", |
509 | // "data":"2d/UgKxxV+kBPV9GRUE.....VGonDoW0tqefxOJo=", | 509 | // "data":"2d/UgKxxV+kBPV9GRUE.....VGonDoW0tqefxOJo=", |
510 | // "version":"0.3", | 510 | // "version":"0.3", |
511 | // "previousVersion":"55904195249037394316d3be3f5e78f08073170103bf0e7ab49a911c159cb0be", | 511 | // "previousVersion":"55904195249037394316d3be3f5e78f08073170103bf0e7ab49a911c159cb0be", |
512 | // "previousVersionKey":"YWiaZeMIVHaIl96OWW+2e8....6d6nHbn6cr2NA/dbQRuC2w==" | 512 | // "previousVersionKey":"YWiaZeMIVHaIl96OWW+2e8....6d6nHbn6cr2NA/dbQRuC2w==" |
513 | // } | 513 | // } |
514 | // } | 514 | // } |
515 | // ], | 515 | // ], |
516 | // "user":{ | 516 | // "user":{ |
517 | // "header":"{\"rec.....sion\":\"0.1\"}", | 517 | // "header":"{\"rec.....sion\":\"0.1\"}", |
518 | // "statistics":"tt3uU9hWBy8rNnMckgCnxMJh", | 518 | // "statistics":"tt3uU9hWBy8rNnMckgCnxMJh", |
519 | // "version":"0.3", | 519 | // "version":"0.3", |
520 | // "lock":"----" | 520 | // "lock":"----" |
521 | // } | 521 | // } |
522 | //} | 522 | //} |
523 | //} | 523 | //} |
524 | 524 | ||
525 | $user = new user(); | 525 | $user = new user(); |
526 | $user = $user->Get($_SESSION["userId"]); | 526 | $user = $user->Get($_SESSION["userId"]); |
527 | updateUserData($parameters["parameters"]["user"], $user); | 527 | updateUserData($parameters["parameters"]["user"], $user); |
528 | $user->Save(); | 528 | $user->Save(); |
529 | 529 | ||
530 | $recordParameterList = $parameters["parameters"]["records"]; | 530 | $recordParameterList = $parameters["parameters"]["records"]; |
531 | $c = count($recordParameterList); | 531 | $c = count($recordParameterList); |
532 | for ($i=0; $i<$c; $i++) { | 532 | for ($i=0; $i<$c; $i++) { |
533 | $recordList = $user->GetRecordList(array(array("reference", "=", $recordParameterList[$i]["record"]["reference"]))); | 533 | $recordList = $user->GetRecordList(array(array("reference", "=", $recordParameterList[$i]["record"]["reference"]))); |
534 | $currentRecord = $recordList[0]; | 534 | $currentRecord = $recordList[0]; |
535 | $currentRecordVersions = $currentRecord->GetRecordversionList(); | 535 | $currentRecordVersions = $currentRecord->GetRecordversionList(); |
536 | $currentVersion = $currentRecordVersions[0]; | 536 | $currentVersion = $currentRecordVersions[0]; |
537 | 537 | ||
538 | updateRecordData($recordParameterList[$i], $currentRecord, $currentVersion); | 538 | updateRecordData($recordParameterList[$i], $currentRecord, $currentVersion); |
539 | 539 | ||
540 | 540 | ||
541 | $currentRecord->Save(); | 541 | $currentRecord->Save(); |
542 | $currentVersion->Save(); | 542 | $currentVersion->Save(); |
543 | } | 543 | } |
544 | 544 | ||
545 | 545 | ||
546 | $result["lock"] = $user->lock; | 546 | $result["lock"] = $user->lock; |
547 | $result["result"] = "done"; | 547 | $result["result"] = "done"; |
548 | 548 | ||
549 | //============================================================= | 549 | //============================================================= |
550 | } else if ($message == "deleteRecords") { | 550 | } else if ($message == "deleteRecords") { |
551 | //{ | 551 | //{ |
552 | //"message":"deleteRecords", | 552 | //"message":"deleteRecords", |
553 | //"srpSharedSecret":"4a64982f7ee366954ec50b9efea62a902a097ef111410c2aa7c4d5343bd1cdd1", | 553 | //"srpSharedSecret":"4a64982f7ee366954ec50b9efea62a902a097ef111410c2aa7c4d5343bd1cdd1", |
554 | //"parameters":{ | 554 | //"parameters":{ |
555 | // "recordReferences":["46494c81d10b80ab190d41e6806ef63869cfcc7a0ab8fe98cc3f93de4729bb9a"], | 555 | // "recordReferences":["46494c81d10b80ab190d41e6806ef63869cfcc7a0ab8fe98cc3f93de4729bb9a"], |
556 | // "user":{ | 556 | // "user":{ |
557 | // "header":"{\"rec...rsion\":\"0.1\"}", | 557 | // "header":"{\"rec...rsion\":\"0.1\"}", |
558 | // "statistics":"44kOOda0xYZjbcugJBdagBQx", | 558 | // "statistics":"44kOOda0xYZjbcugJBdagBQx", |
559 | // "version":"0.3", | 559 | // "version":"0.3", |
560 | // "lock":"----" | 560 | // "lock":"----" |
561 | // } | 561 | // } |
562 | //} | 562 | //} |
563 | //} | 563 | //} |
564 | $user = new user(); | 564 | $user = new user(); |
565 | $user = $user->Get($_SESSION["userId"]); | 565 | $user = $user->Get($_SESSION["userId"]); |
566 | 566 | ||
567 | $recordReferenceList = $parameters["parameters"]["recordReferences"]; | 567 | $recordReferenceList = $parameters["parameters"]["recordReferences"]; |
568 | $recordList = array(); | 568 | $recordList = array(); |
569 | $c = count($recordReferenceList); | 569 | $c = count($recordReferenceList); |
570 | for ($i=0; $i<$c; $i++) { | 570 | for ($i=0; $i<$c; $i++) { |
571 | array_push($recordList, array("reference", "=", $recordReferenceList[$i])); | 571 | array_push($recordList, array("reference", "=", $recordReferenceList[$i])); |
572 | } | 572 | } |
573 | 573 | ||
574 | $record = new record(); | 574 | $record = new record(); |
575 | $record->DeleteList($recordList, true); | 575 | $record->DeleteList($recordList, true); |
576 | 576 | ||
577 | updateUserData($parameters["parameters"]["user"], $user); | 577 | updateUserData($parameters["parameters"]["user"], $user); |
578 | $user->Save(); | 578 | $user->Save(); |
579 | 579 | ||
580 | $result["recordList"] = $recordList; | 580 | $result["recordList"] = $recordList; |
581 | $result["lock"] = $user->lock; | 581 | $result["lock"] = $user->lock; |
582 | $result["result"] = "done"; | 582 | $result["result"] = "done"; |
583 | 583 | ||
584 | //============================================================= | 584 | //============================================================= |
585 | } else if ($message == "deleteUser") { | 585 | } else if ($message == "deleteUser") { |
586 | //{"message":"deleteUser", "srpSharedSecret":"e8e4ca6544dca49c95b3647d8358ad54c317048b74d2ac187ac25f719c9bac58", "parameters":{}} | 586 | //{"message":"deleteUser", "srpSharedSecret":"e8e4ca6544dca49c95b3647d8358ad54c317048b74d2ac187ac25f719c9bac58", "parameters":{}} |
587 | $user = new user(); | 587 | $user = new user(); |
588 | $user->Get($_SESSION["userId"]); | 588 | $user->Get($_SESSION["userId"]); |
589 | $user->Delete(true); | 589 | $user->Delete(true); |
590 | 590 | ||
591 | $result["result"] = "ok"; | 591 | $result["result"] = "ok"; |
592 | 592 | ||
593 | //============================================================= | 593 | //============================================================= |
594 | } else if ($message == "addNewOneTimePassword") { | 594 | } else if ($message == "addNewOneTimePassword") { |
595 | //{ | 595 | //{ |
596 | //"message":"addNewOneTimePassword", | 596 | //"message":"addNewOneTimePassword", |
597 | //"srpSharedSecret":"96fee4af06c09ce954fe7a9f87970e943449186bebf70bac0af1d6ebb818dabb", | 597 | //"srpSharedSecret":"96fee4af06c09ce954fe7a9f87970e943449186bebf70bac0af1d6ebb818dabb", |
598 | //"parameters":{ | 598 | //"parameters":{ |
599 | // "user":{ | 599 | // "user":{ |
600 | // "header":"{\"records\":{\"index\":{\"419ea6....rsion\":\"0.1\"}", | 600 | // "header":"{\"records\":{\"index\":{\"419ea6....rsion\":\"0.1\"}", |
601 | // "statistics":"rrlwNbDt83rpWT4S72upiVsC", | 601 | // "statistics":"rrlwNbDt83rpWT4S72upiVsC", |
602 | // "version":"0.3", | 602 | // "version":"0.3", |
603 | // "lock":"----" | 603 | // "lock":"----" |
604 | // }, | 604 | // }, |
605 | // "oneTimePassword":{ | 605 | // "oneTimePassword":{ |
606 | // "reference":"29e26f3a2aae61fe5cf58c45296c6df4f3dceafe067ea550b455be345f44123c", | 606 | // "reference":"29e26f3a2aae61fe5cf58c45296c6df4f3dceafe067ea550b455be345f44123c", |
607 | // "key":"afb848208758361a96a298b9db08995cf036011747809357a90645bc93fdfa03", | 607 | // "key":"afb848208758361a96a298b9db08995cf036011747809357a90645bc93fdfa03", |
608 | // "keyChecksum":"d1599ae443b5a566bfd93c0aeec4c81b42c0506ee09874dae050449580bb3486", | 608 | // "keyChecksum":"d1599ae443b5a566bfd93c0aeec4c81b42c0506ee09874dae050449580bb3486", |
609 | // "data":"hsyY8DHksgR52x6c4j7XAtIUeY.....dxsr3XWt7CbGg==", | 609 | // "data":"hsyY8DHksgR52x6c4j7XAtIUeY.....dxsr3XWt7CbGg==", |
610 | // "version":"0.3" | 610 | // "version":"0.3" |
611 | // } | 611 | // } |
612 | //} | 612 | //} |
613 | //} | 613 | //} |
614 | 614 | ||
615 | fixOTPStatusTable(); | 615 | fixOTPStatusTable(); |
616 | 616 | ||
617 | $user = new user(); | 617 | $user = new user(); |
618 | $user = $user->Get($_SESSION["userId"]); | 618 | $user = $user->Get($_SESSION["userId"]); |
619 | 619 | ||
620 | $otp = new onetimepassword(); | 620 | $otp = new onetimepassword(); |
621 | updateOTP($parameters["parameters"]["oneTimePassword"], $otp, "ACTIVE"); | 621 | updateOTP($parameters["parameters"]["oneTimePassword"], $otp, "ACTIVE"); |
622 | $user->AddOnetimepassword($otp); | 622 | $user->AddOnetimepassword($otp); |
623 | 623 | ||
624 | updateUserData($parameters["parameters"]["user"], $user); | 624 | updateUserData($parameters["parameters"]["user"], $user); |
625 | $user->Save(); | 625 | $user->Save(); |
626 | 626 | ||
627 | $result["lock"] = $user->lock; | 627 | $result["lock"] = $user->lock; |
628 | $result["result"] = "done"; | 628 | $result["result"] = "done"; |
629 | 629 | ||
630 | //============================================================= | 630 | //============================================================= |
631 | } else if ($message == "updateOneTimePasswords") { | 631 | } else if ($message == "updateOneTimePasswords") { |
632 | //{ | 632 | //{ |
633 | //"message":"updateOneTimePasswords", | 633 | //"message":"updateOneTimePasswords", |
634 | //"srpSharedSecret":"c78f8ed099ea421f4dd0a4e02dbaf1f7da925f0088188d99399874ff064a3d27", | 634 | //"srpSharedSecret":"c78f8ed099ea421f4dd0a4e02dbaf1f7da925f0088188d99399874ff064a3d27", |
635 | //"parameters":{ | 635 | //"parameters":{ |
636 | // "user":{ | 636 | // "user":{ |
637 | // "header":"{\"reco...sion\":\"0.1\"}", | 637 | // "header":"{\"reco...sion\":\"0.1\"}", |
638 | // "statistics":"UeRq75RZHzDC7elzrh/+OB5d", | 638 | // "statistics":"UeRq75RZHzDC7elzrh/+OB5d", |
639 | // "version":"0.3", | 639 | // "version":"0.3", |
640 | // "lock":"----" | 640 | // "lock":"----" |
641 | // }, | 641 | // }, |
642 | // "oneTimePasswords":["f5f44c232f239efe48ab81a6236deea1a840d52946f7d4d782dad52b4c5359ce"] | 642 | // "oneTimePasswords":["f5f44c232f239efe48ab81a6236deea1a840d52946f7d4d782dad52b4c5359ce"] |
643 | //} | 643 | //} |
644 | //} | 644 | //} |
645 | 645 | ||
646 | $user = new user(); | 646 | $user = new user(); |
647 | $user = $user->Get($_SESSION["userId"]); | 647 | $user = $user->Get($_SESSION["userId"]); |
648 | 648 | ||
649 | $validOtpReferences = $parameters["parameters"]["oneTimePasswords"]; | 649 | $validOtpReferences = $parameters["parameters"]["oneTimePasswords"]; |
650 | 650 | ||
651 | $otpList = $user->GetOnetimepasswordList(); | 651 | $otpList = $user->GetOnetimepasswordList(); |
652 | $c = count($otpList); | 652 | $c = count($otpList); |
653 | for ($i=0; $i<$c; $i++) { | 653 | for ($i=0; $i<$c; $i++) { |
654 | $currentOtp = $otpList[$i]; | 654 | $currentOtp = $otpList[$i]; |
655 | if (arrayContainsValue($validOtpReferences, $currentOtp->reference) == false) { | 655 | if (arrayContainsValue($validOtpReferences, $currentOtp->reference) == false) { |
656 | $currentOtp->Delete(); | 656 | $currentOtp->Delete(); |
657 | } | 657 | } |
658 | } | 658 | } |
659 | 659 | ||
660 | updateUserData($parameters["parameters"]["user"], $user); | 660 | updateUserData($parameters["parameters"]["user"], $user); |
661 | $user->Save(); | 661 | $user->Save(); |
662 | 662 | ||
663 | $result["result"] = $user->lock; | 663 | $result["result"] = $user->lock; |
664 | 664 | ||
665 | //============================================================= | 665 | //============================================================= |
666 | } else if ($message == "getOneTimePasswordsDetails") { | 666 | } else if ($message == "getOneTimePasswordsDetails") { |
667 | 667 | ||
668 | //============================================================= | 668 | //============================================================= |
669 | } else if ($message == "getLoginHistory") { | 669 | } else if ($message == "getLoginHistory") { |
670 | $result["result"] = array(); | 670 | $result["result"] = array(); |
671 | 671 | ||
672 | //============================================================= | 672 | //============================================================= |
673 | } else if ($message == "upgradeUserCredentials") { | 673 | } else if ($message == "upgradeUserCredentials") { |
674 | //{ | 674 | //{ |
675 | //"message":"upgradeUserCredentials", | 675 | //"message":"upgradeUserCredentials", |
676 | //"srpSharedSecret":"f1c25322e1478c8fb26063e9eef2f6fc25e0460065a31cb718f80bcff8f8a735", | 676 | //"srpSharedSecret":"f1c25322e1478c8fb26063e9eef2f6fc25e0460065a31cb718f80bcff8f8a735", |
677 | //"parameters":{ | 677 | //"parameters":{ |
678 | // "user":{ | 678 | // "user":{ |
679 | // "header":"{\"reco...sion\":\"0.1\"}", | 679 | // "header":"{\"reco...sion\":\"0.1\"}", |
680 | // "statistics":"s72Xva+w7CLgH+ihwqwXUbyu", | 680 | // "statistics":"s72Xva+w7CLgH+ihwqwXUbyu", |
681 | // "version":"0.3", | 681 | // "version":"0.3", |
682 | // "lock":"----" | 682 | // "lock":"----" |
683 | // }, | 683 | // }, |
684 | // "credentials":{ | 684 | // "credentials":{ |
685 | // "C":"57d15a8afbc1ae08103bd991d387ddfd8d26824276476fe709d754f098b6c26d", | 685 | // "C":"57d15a8afbc1ae08103bd991d387ddfd8d26824276476fe709d754f098b6c26d", |
686 | // "s":"d6735fc0486f391c4f3c947928f9e61a2418e7bed2bc9b25bb43f93acc52f636", | 686 | // "s":"d6735fc0486f391c4f3c947928f9e61a2418e7bed2bc9b25bb43f93acc52f636", |
687 | // "v":"540c2ebbf941a481b6b2c9026c07fb46e8202e4408ed96864a696deb622baece", | 687 | // "v":"540c2ebbf941a481b6b2c9026c07fb46e8202e4408ed96864a696deb622baece", |
688 | // "version":"0.2" | 688 | // "version":"0.2" |
689 | // }, | 689 | // }, |
690 | // "oneTimePasswords":{ | 690 | // "oneTimePasswords":{ |
691 | // "923cdc61c4b877b263236124c44d69b459d240453a461cce8ddf7518b423ca94": "1HD6Ta0xsifEDhDwE....9WDK6tvrS6w==", | 691 | // "923cdc61c4b877b263236124c44d69b459d240453a461cce8ddf7518b423ca94": "1HD6Ta0xsifEDhDwE....9WDK6tvrS6w==", |
692 | // "fb1573cb9497652a81688a099a524fb116e604c6fbc191cf33406eb8438efa5f": "CocN0cSxLmMRdgNF9....o3xhGUEY68Q==" | 692 | // "fb1573cb9497652a81688a099a524fb116e604c6fbc191cf33406eb8438efa5f": "CocN0cSxLmMRdgNF9....o3xhGUEY68Q==" |
693 | // } | 693 | // } |
694 | //} | 694 | //} |
695 | //} | 695 | //} |
696 | 696 | ||
697 | $user = new user(); | 697 | $user = new user(); |
698 | $user->Get($_SESSION["userId"]); | 698 | $user->Get($_SESSION["userId"]); |
699 | 699 | ||
700 | $otp = new onetimepassword(); | 700 | $otp = new onetimepassword(); |
701 | 701 | ||
702 | updateUserCredentials($parameters["parameters"]["credentials"], $user); | 702 | updateUserCredentials($parameters["parameters"]["credentials"], $user); |
703 | updateUserData($parameters["parameters"]["user"], $user); | 703 | updateUserData($parameters["parameters"]["user"], $user); |
704 | 704 | ||
705 | $otpList = $parameters["parameters"]["oneTimePasswords"]; | 705 | $otpList = $parameters["parameters"]["oneTimePasswords"]; |
706 | foreach($otpList as $otpReference=>$otpData) { | 706 | foreach($otpList as $otpReference=>$otpData) { |
707 | $otpList = $otp->GetList(array(array("reference", "=", $otpReference))); | 707 | $otpList = $otp->GetList(array(array("reference", "=", $otpReference))); |
708 | $currentOtp = $otpList[0]; | 708 | $currentOtp = $otpList[0]; |
709 | $currentOtp->data = $otpData; | 709 | $currentOtp->data = $otpData; |
710 | $currentOtp->Save(); | 710 | $currentOtp->Save(); |
711 | } | 711 | } |
712 | 712 | ||
713 | $user->Save(); | 713 | $user->Save(); |
714 | 714 | ||
715 | $result["lock"] = $user->lock; | 715 | $result["lock"] = $user->lock; |
716 | $result["result"] = "done"; | 716 | $result["result"] = "done"; |
717 | 717 | ||
718 | //============================================================= | 718 | //============================================================= |
719 | } else if ($message == "echo") { | 719 | } else if ($message == "echo") { |
720 | $result["result"] = $parameters; | 720 | $result["result"] = $parameters; |
721 | } | 721 | } |
722 | 722 | ||
723 | //============================================================= | 723 | //============================================================= |
724 | } else { | 724 | } else if (isset($_SESSION['K'])) { |
725 | $result["error"] = "Wrong shared secret!"; | 725 | $result["error"] = "Wrong shared secret!"; |
726 | } else { | ||
727 | $result["result"] = "EXCEPTION"; | ||
728 | $result["message"] = "Trying to communicate without an active connection"; | ||
726 | } | 729 | } |
727 | break; | 730 | break; |
728 | 731 | ||
729 | case "logout": | 732 | case "logout": |
730 | error_log("logout"); | 733 | error_log("logout"); |
731 | session_destroy(); | 734 | session_destroy(); |
732 | break; | 735 | break; |
733 | 736 | ||
734 | default: | 737 | default: |
735 | error_log("default"); | 738 | error_log("default"); |
736 | $result["result"] = $parameters; | 739 | $result["result"] = $parameters; |
737 | break; | 740 | break; |
738 | } | 741 | } |
739 | 742 | ||
740 | session_write_close(); | 743 | session_write_close(); |
741 | 744 | ||
742 | echo(json_encode($result)); | 745 | echo(json_encode($result)); |
743 | error_log("result: ".json_encode($result)); | 746 | error_log("result: ".json_encode($result)); |
744 | ?> \ No newline at end of file | 747 | ?> |
diff --git a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js index e7c2bc1..6185fd6 100755 --- a/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js +++ b/frontend/beta/js/Clipperz/PM/Proxy/Proxy.PHP.js | |||
@@ -1,259 +1,265 @@ | |||
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's Javascript Crypto Library. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Javascript Crypto Library provides web developers with an extensive |
7 | and efficient set of cryptographic functions. The library aims to | 7 | and efficient set of cryptographic functions. The library aims to |
8 | obtain maximum execution speed while preserving modularity and | 8 | obtain maximum execution speed while preserving modularity and |
9 | reusability. | 9 | reusability. |
10 | For further information about its features and functionalities please | 10 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 11 | refer to http://www.clipperz.com |
12 | 12 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 13 | * Javascript Crypto Library is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 14 | 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 | 15 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 16 | 3 of the License, or (at your option) any later version. |
17 | 17 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 18 | * Javascript Crypto Library is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 19 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 21 | See the GNU Affero General Public License for more details. |
22 | 22 | ||
23 | * You should have received a copy of the GNU Affero General Public | 23 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 24 | License along with Javascript Crypto Library. If not, see |
25 | <http://www.gnu.org/licenses/>. | 25 | <http://www.gnu.org/licenses/>. |
26 | 26 | ||
27 | */ | 27 | */ |
28 | 28 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | 31 | ||
32 | //============================================================================= | 32 | //============================================================================= |
33 | 33 | ||
34 | Clipperz.PM.Proxy.PHP = function(args) { | 34 | Clipperz.PM.Proxy.PHP = function(args) { |
35 | Clipperz.PM.Proxy.PHP.superclass.constructor.call(this, args); | 35 | Clipperz.PM.Proxy.PHP.superclass.constructor.call(this, args); |
36 | /* | 36 | /* |
37 | this._tolls = { | 37 | this._tolls = { |
38 | 'CONNECT':[], | 38 | 'CONNECT':[], |
39 | 'REGISTER':[], | 39 | 'REGISTER':[], |
40 | 'MESSAGE':[] | 40 | 'MESSAGE':[] |
41 | }; | 41 | }; |
42 | */ | 42 | */ |
43 | return this; | 43 | return this; |
44 | } | 44 | } |
45 | 45 | ||
46 | YAHOO.extendX(Clipperz.PM.Proxy.PHP, Clipperz.PM.Proxy, { | 46 | YAHOO.extendX(Clipperz.PM.Proxy.PHP, Clipperz.PM.Proxy, { |
47 | 47 | ||
48 | 'toString': function() { | 48 | 'toString': function() { |
49 | return "Clipperz.PM.Proxy.PHP - " + this.args(); | 49 | return "Clipperz.PM.Proxy.PHP - " + this.args(); |
50 | }, | 50 | }, |
51 | 51 | ||
52 | //========================================================================= | 52 | //========================================================================= |
53 | /* | 53 | /* |
54 | 'tolls': function() { | 54 | 'tolls': function() { |
55 | return this._tolls; | 55 | return this._tolls; |
56 | }, | 56 | }, |
57 | */ | 57 | */ |
58 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
59 | /* | 59 | /* |
60 | 'payToll': function(aRequestType, someParameters) { | 60 | 'payToll': function(aRequestType, someParameters) { |
61 | vardeferredResult; | 61 | vardeferredResult; |
62 | 62 | ||
63 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.payToll: " + aRequestType); | 63 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.payToll: " + aRequestType); |
64 | if (this.tolls()[aRequestType].length > 0) { | 64 | if (this.tolls()[aRequestType].length > 0) { |
65 | deferredResult = MochiKit.Async.succeed(this.tolls()[aRequestType].pop()); | 65 | deferredResult = MochiKit.Async.succeed(this.tolls()[aRequestType].pop()); |
66 | } else { | 66 | } else { |
67 | //MochiKit.Logging.logDebug("### " + aRequestType + " toll NOT immediately available; request queued."); | 67 | //MochiKit.Logging.logDebug("### " + aRequestType + " toll NOT immediately available; request queued."); |
68 | deferredResult = new MochiKit.Async.Deferred(); | 68 | deferredResult = new MochiKit.Async.Deferred(); |
69 | deferredResult.addCallback(function(someParameters) { | 69 | deferredResult.addCallback(function(someParameters) { |
70 | return new Clipperz.PM.Toll(someParameters['toll']); | 70 | return new Clipperz.PM.Toll(someParameters['toll']); |
71 | }) | 71 | }) |
72 | com_clipperz_pm_Proxy.knock(Clipperz.Base.serializeJSON({requestType:aRequestType}), { | 72 | com_clipperz_pm_Proxy.knock(Clipperz.Base.serializeJSON({requestType:aRequestType}), { |
73 | callback:MochiKit.Base.method(deferredResult, 'callback'), | 73 | callback:MochiKit.Base.method(deferredResult, 'callback'), |
74 | errorHandler:MochiKit.Base.method(deferredResult, 'errback') | 74 | errorHandler:MochiKit.Base.method(deferredResult, 'errback') |
75 | }); | 75 | }); |
76 | } | 76 | } |
77 | 77 | ||
78 | deferredResult.addCallback(function(aToll) { | 78 | deferredResult.addCallback(function(aToll) { |
79 | return aToll.deferredPay(); | 79 | return aToll.deferredPay(); |
80 | }); | 80 | }); |
81 | deferredResult.addCallback(function(someParameters, aToll) { | 81 | deferredResult.addCallback(function(someParameters, aToll) { |
82 | var result; | 82 | var result; |
83 | 83 | ||
84 | result = { | 84 | result = { |
85 | parameters: someParameters, | 85 | parameters: someParameters, |
86 | toll: aToll | 86 | toll: aToll |
87 | } | 87 | } |
88 | 88 | ||
89 | return result; | 89 | return result; |
90 | }, someParameters); | 90 | }, someParameters); |
91 | 91 | ||
92 | return deferredResult; | 92 | return deferredResult; |
93 | }, | 93 | }, |
94 | */ | 94 | */ |
95 | //------------------------------------------------------------------------- | 95 | //------------------------------------------------------------------------- |
96 | /* | 96 | /* |
97 | 'addToll': function(aToll) { | 97 | 'addToll': function(aToll) { |
98 | this.tolls()[aToll.requestType()].push(aToll); | 98 | this.tolls()[aToll.requestType()].push(aToll); |
99 | }, | 99 | }, |
100 | */ | 100 | */ |
101 | //========================================================================= | 101 | //========================================================================= |
102 | /* | 102 | /* |
103 | 'setTollCallback': function(someParameters) { | 103 | 'setTollCallback': function(someParameters) { |
104 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.setTollCallback"); | 104 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.setTollCallback"); |
105 | //MochiKit.Logging.logDebug("--- Proxy.DWR.setTollCallback - " + Clipperz.Base.serializeJSON(someParameters)); | 105 | //MochiKit.Logging.logDebug("--- Proxy.DWR.setTollCallback - " + Clipperz.Base.serializeJSON(someParameters)); |
106 | if (typeof(someParameters['toll']) != 'undefined') { | 106 | if (typeof(someParameters['toll']) != 'undefined') { |
107 | this.addToll(new Clipperz.PM.Toll(someParameters['toll'])); | 107 | this.addToll(new Clipperz.PM.Toll(someParameters['toll'])); |
108 | } | 108 | } |
109 | return someParameters['result']; | 109 | return someParameters['result']; |
110 | }, | 110 | }, |
111 | */ | 111 | */ |
112 | //========================================================================= | 112 | //========================================================================= |
113 | 113 | ||
114 | 'registration': function(someParameters) { | 114 | 'registration': function(someParameters) { |
115 | return this.sendMessage('registration', someParameters, 'REGISTER'); | 115 | return this.sendMessage('registration', someParameters, 'REGISTER'); |
116 | }, | 116 | }, |
117 | 117 | ||
118 | //------------------------------------------------------------------------- | 118 | //------------------------------------------------------------------------- |
119 | 119 | ||
120 | 'handshake': function(someParameters) { | 120 | 'handshake': function(someParameters) { |
121 | /* | 121 | /* |
122 | _s = "e8a2162f29aeaabb729f5625e9740edbf0cd80ac77c6b19ab951ed6c88443b8c"; | 122 | _s = "e8a2162f29aeaabb729f5625e9740edbf0cd80ac77c6b19ab951ed6c88443b8c"; |
123 | _v = new Clipperz.Crypto.BigInt("955e2db0f7844aca372f5799e5f7e51b5866718493096908bd66abcf1d068108", 16); | 123 | _v = new Clipperz.Crypto.BigInt("955e2db0f7844aca372f5799e5f7e51b5866718493096908bd66abcf1d068108", 16); |
124 | _b = new Clipperz.Crypto.BigInt("5761e6c84d22ea3c5649de01702d60f674ccfe79238540eb34c61cd020230c53", 16); | 124 | _b = new Clipperz.Crypto.BigInt("5761e6c84d22ea3c5649de01702d60f674ccfe79238540eb34c61cd020230c53", 16); |
125 | 125 | ||
126 | _B = _v.add(Clipperz.Crypto.SRP.g().powerModule(_b, Clipperz.Crypto.SRP.n())); | 126 | _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); | 127 | _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); | 128 | _A = new Clipperz.Crypto.BigInt("3b3567ec33d73673552e960872eb154d091a2488915941038aef759236a27e64", 16); |
129 | _S = (_A.multiply(_v.powerModule(_u, Clipperz.Crypto.SRP.n()))).powerModule(_b, Clipperz.Crypto.SRP.n()); | 129 | _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); | 130 | _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); | 131 | _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); | 132 | _M2 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _M1 + _K)).toHexString().slice(2); |
133 | 133 | ||
134 | // MochiKit.Logging.logDebug("b = " + _b.asString(16)); | 134 | // MochiKit.Logging.logDebug("b = " + _b.asString(16)); |
135 | // MochiKit.Logging.logDebug("v = " + _v.asString(16)); | 135 | // MochiKit.Logging.logDebug("v = " + _v.asString(16)); |
136 | MochiKit.Logging.logDebug("B = " + _B.asString(16)); | 136 | MochiKit.Logging.logDebug("B = " + _B.asString(16)); |
137 | MochiKit.Logging.logDebug("u = " + _u.asString(16)); | 137 | MochiKit.Logging.logDebug("u = " + _u.asString(16)); |
138 | MochiKit.Logging.logDebug("S = " + _S.asString(16)); | 138 | MochiKit.Logging.logDebug("S = " + _S.asString(16)); |
139 | MochiKit.Logging.logDebug("K = " + _K); | 139 | MochiKit.Logging.logDebug("K = " + _K); |
140 | MochiKit.Logging.logDebug("M1 = " + _M1); | 140 | MochiKit.Logging.logDebug("M1 = " + _M1); |
141 | MochiKit.Logging.logDebug("M2 = " + _M2); | 141 | MochiKit.Logging.logDebug("M2 = " + _M2); |
142 | // MochiKit.Logging.logDebug("someParameters.version: " + someParameters.version); | 142 | // MochiKit.Logging.logDebug("someParameters.version: " + someParameters.version); |
143 | */ | 143 | */ |
144 | return this.sendMessage('handshake', someParameters, 'CONNECT'); | 144 | return this.sendMessage('handshake', someParameters, 'CONNECT'); |
145 | }, | 145 | }, |
146 | 146 | ||
147 | //------------------------------------------------------------------------- | 147 | //------------------------------------------------------------------------- |
148 | 148 | ||
149 | 'message': function(someParameters) { | 149 | 'message': function(someParameters) { |
150 | return this.sendMessage('message', someParameters, 'MESSAGE'); | 150 | return this.sendMessage('message', someParameters, 'MESSAGE'); |
151 | }, | 151 | }, |
152 | 152 | ||
153 | //------------------------------------------------------------------------- | 153 | //------------------------------------------------------------------------- |
154 | 154 | ||
155 | 'logout': function(someParameters) { | 155 | 'logout': function(someParameters) { |
156 | //MochiKit.Logging.logDebug("=== Proxy.DWR.logout"); | 156 | //MochiKit.Logging.logDebug("=== Proxy.DWR.logout"); |
157 | return this.sendMessage('logout', someParameters, 'MESSAGE'); | 157 | return this.sendMessage('logout', someParameters, 'MESSAGE'); |
158 | }, | 158 | }, |
159 | 159 | ||
160 | //========================================================================= | 160 | //========================================================================= |
161 | 161 | ||
162 | 'sendMessage': function(aFunctionName, someParameters, aRequestType) { | 162 | 'sendMessage': function(aFunctionName, someParameters, aRequestType) { |
163 | /* | 163 | /* |
164 | vardeferredResult; | 164 | vardeferredResult; |
165 | var proxy; | 165 | var proxy; |
166 | 166 | ||
167 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.sendMessage - " + aFunctionName + " - " + aRequestType); | 167 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.sendMessage - " + aFunctionName + " - " + aRequestType); |
168 | proxy = this; | 168 | proxy = this; |
169 | 169 | ||
170 | deferredResult = new MochiKit.Async.Deferred(); | 170 | deferredResult = new MochiKit.Async.Deferred(); |
171 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.1 Proxy.DWR.sendMessage - 1: " + res); return res;}); | 171 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.1 Proxy.DWR.sendMessage - 1: " + res); return res;}); |
172 | deferredResult.addCallback(MochiKit.Base.method(proxy, 'payToll'), aRequestType); | 172 | deferredResult.addCallback(MochiKit.Base.method(proxy, 'payToll'), aRequestType); |
173 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.2 Proxy.DWR.sendMessage - 2: " + Clipperz.Base.serializeJSON(res)); return res;}); | 173 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.2 Proxy.DWR.sendMessage - 2: " + Clipperz.Base.serializeJSON(res)); return res;}); |
174 | deferredResult.addCallback(MochiKit.Base.method(proxy, 'sendRemoteMessage'), aFunctionName); | 174 | deferredResult.addCallback(MochiKit.Base.method(proxy, 'sendRemoteMessage'), aFunctionName); |
175 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.DWR.sendMessage - 3: " + res); return res;}); | 175 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.DWR.sendMessage - 3: " + res); return res;}); |
176 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.DWR.sendMessage - 3: " + Clipperz.Base.serializeJSON(res)); return res;}); | 176 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.DWR.sendMessage - 3: " + Clipperz.Base.serializeJSON(res)); return res;}); |
177 | deferredResult.callback(someParameters); | 177 | deferredResult.callback(someParameters); |
178 | 178 | ||
179 | //MochiKit.Logging.logDebug("<<< Proxy.DWR.sendMessage"); | 179 | //MochiKit.Logging.logDebug("<<< Proxy.DWR.sendMessage"); |
180 | return deferredResult; | 180 | return deferredResult; |
181 | */ | 181 | */ |
182 | 182 | ||
183 | // return this.sendRemoteMessage(aFunctionName, someParameters); | 183 | // return this.sendRemoteMessage(aFunctionName, someParameters); |
184 | 184 | ||
185 | 185 | ||
186 | vardeferredResult; | 186 | vardeferredResult; |
187 | var proxy; | 187 | var proxy; |
188 | 188 | ||
189 | proxy = this; | 189 | proxy = this; |
190 | 190 | ||
191 | deferredResult = new MochiKit.Async.Deferred(); | 191 | deferredResult = new MochiKit.Async.Deferred(); |
192 | deferredResult.addCallback(MochiKit.Base.method(proxy, 'sendRemoteMessage'), aFunctionName); | 192 | deferredResult.addCallback(MochiKit.Base.method(proxy, 'sendRemoteMessage'), aFunctionName); |
193 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.PHP.sendMessage - 3: " + res); return res;}); | 193 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.PHP.sendMessage - 3: " + res); return res;}); |
194 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.PHP.sendMessage - 3.1: " + Clipperz.Base.serializeJSON(res)); return res;}); | 194 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.PHP.sendMessage - 3.1: " + Clipperz.Base.serializeJSON(res)); return res;}); |
195 | 195 | ||
196 | deferredResult.callback(someParameters); | 196 | deferredResult.callback(someParameters); |
197 | 197 | ||
198 | return deferredResult; | 198 | return deferredResult; |
199 | }, | 199 | }, |
200 | 200 | ||
201 | //========================================================================= | 201 | //========================================================================= |
202 | 202 | ||
203 | 'sendRemoteMessage': function(aFunctionName, someParameters) { | 203 | 'sendRemoteMessage': function(aFunctionName, someParameters) { |
204 | /* | 204 | /* |
205 | vardeferredResult; | 205 | vardeferredResult; |
206 | 206 | ||
207 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.sendRemoteMessage('" + aFunctionName + "', " + Clipperz.Base.serializeJSON(someParameters) + ") - " + this); | 207 | //MochiKit.Logging.logDebug(">>> Proxy.DWR.sendRemoteMessage('" + aFunctionName + "', " + Clipperz.Base.serializeJSON(someParameters) + ") - " + this); |
208 | deferredResult = new MochiKit.Async.Deferred(); | 208 | deferredResult = new MochiKit.Async.Deferred(); |
209 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Proxy.DWR.sendRemoteMessage - 1: " + res); return res;}); | 209 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Proxy.DWR.sendRemoteMessage - 1: " + res); return res;}); |
210 | // deferredResult.addCallback(MochiKit.Base.method(this, 'setTollCallback')); | 210 | // deferredResult.addCallback(MochiKit.Base.method(this, 'setTollCallback')); |
211 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Proxy.DWR.sendRemoteMessage - 2: " + res); return res;}); | 211 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Proxy.DWR.sendRemoteMessage - 2: " + res); return res;}); |
212 | 212 | ||
213 | com_clipperz_pm_Proxy[aFunctionName](Clipperz.Base.serializeJSON(someParameters), { | 213 | com_clipperz_pm_Proxy[aFunctionName](Clipperz.Base.serializeJSON(someParameters), { |
214 | callback:MochiKit.Base.method(deferredResult, 'callback'), | 214 | callback:MochiKit.Base.method(deferredResult, 'callback'), |
215 | errorHandler:MochiKit.Base.method(deferredResult, 'errback') | 215 | errorHandler:MochiKit.Base.method(deferredResult, 'errback') |
216 | }); | 216 | }); |
217 | //MochiKit.Logging.logDebug("<<< Proxy.PHP.sendRemoteMessage - result: " + deferredResult); | 217 | //MochiKit.Logging.logDebug("<<< Proxy.PHP.sendRemoteMessage - result: " + deferredResult); |
218 | 218 | ||
219 | return deferredResult; | 219 | return deferredResult; |
220 | */ | 220 | */ |
221 | 221 | ||
222 | vardeferredResult; | 222 | vardeferredResult; |
223 | var parameters; | 223 | var parameters; |
224 | 224 | ||
225 | //MochiKit.Logging.logDebug(">>> Proxy.PHP.sendRemoteMessage('" + aFunctionName + "', " + Clipperz.Base.serializeJSON(someParameters) + ") - " + this); | 225 | //MochiKit.Logging.logDebug(">>> Proxy.PHP.sendRemoteMessage('" + aFunctionName + "', " + Clipperz.Base.serializeJSON(someParameters) + ") - " + this); |
226 | parameters = {}; | 226 | parameters = {}; |
227 | parameters['method'] = aFunctionName; | 227 | parameters['method'] = aFunctionName; |
228 | // parameters['version'] = someParameters['version']; | 228 | // parameters['version'] = someParameters['version']; |
229 | // parameters['message'] = someParameters['message']; | 229 | // parameters['message'] = someParameters['message']; |
230 | parameters['parameters'] = Clipperz.Base.serializeJSON(someParameters); | 230 | parameters['parameters'] = Clipperz.Base.serializeJSON(someParameters); |
231 | //MochiKit.Logging.logDebug("--- Proxy.PHP.sendRemoteMessage('" + Clipperz.Base.serializeJSON(parameters) + ") - " + this); | 231 | //MochiKit.Logging.logDebug("--- Proxy.PHP.sendRemoteMessage('" + Clipperz.Base.serializeJSON(parameters) + ") - " + this); |
232 | deferredResult = new MochiKit.Async.Deferred(); | 232 | deferredResult = new MochiKit.Async.Deferred(); |
233 | deferredResult.addCallback(MochiKit.Async.doXHR, "./php/index.php", { | 233 | deferredResult.addCallback(MochiKit.Async.doXHR, "./php/index.php", { |
234 | method:'POST', | 234 | method:'POST', |
235 | sendContent:MochiKit.Base.queryString(parameters), | 235 | sendContent:MochiKit.Base.queryString(parameters), |
236 | headers:{"Content-Type":"application/x-www-form-urlencoded"} | 236 | headers:{"Content-Type":"application/x-www-form-urlencoded"} |
237 | }); | 237 | }); |
238 | //deferredResult.addCallback(function(res) {MochiKit.Logging.logDebug("Proxy.PHP.response - 2: " + res.responseText); return res;}); | 238 | //deferredResult.addCallback(function(res) {MochiKit.Logging.logDebug("Proxy.PHP.response - 2: " + res.responseText); return res;}); |
239 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("Proxy.PHP.response - ERROR: " + res); return res;}); | 239 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("Proxy.PHP.response - ERROR: " + res); return res;}); |
240 | deferredResult.addCallback(MochiKit.Async.evalJSONRequest); | 240 | deferredResult.addCallback(MochiKit.Async.evalJSONRequest); |
241 | deferredResult.addCallback(function (someValues) { | ||
242 | if (someValues['result'] == 'EXCEPTION') { | ||
243 | throw someValues['message']; | ||
244 | } | ||
245 | return someValues; | ||
246 | }) | ||
241 | deferredResult.callback(); | 247 | deferredResult.callback(); |
242 | 248 | ||
243 | return deferredResult; | 249 | return deferredResult; |
244 | }, | 250 | }, |
245 | 251 | ||
246 | //========================================================================= | 252 | //========================================================================= |
247 | 253 | ||
248 | 'isReadOnly': function() { | 254 | 'isReadOnly': function() { |
249 | return false; | 255 | return false; |
250 | }, | 256 | }, |
251 | 257 | ||
252 | //========================================================================= | 258 | //========================================================================= |
253 | __syntaxFix__: "syntax fix" | 259 | __syntaxFix__: "syntax fix" |
254 | 260 | ||
255 | }); | 261 | }); |
256 | 262 | ||
257 | //============================================================================= | 263 | //============================================================================= |
258 | 264 | ||
259 | //Clipperz.PM.Proxy.defaultProxy = new Clipperz.PM.Proxy.PHP("Proxy.PHP - async test"); | 265 | //Clipperz.PM.Proxy.defaultProxy = new Clipperz.PM.Proxy.PHP("Proxy.PHP - async test"); |