From 57e00bc8efa02c9617f65ab3893d06d3c0d914eb Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Thu, 23 Jan 2014 19:19:55 +0400 Subject: [PATCH] Improved auth key logging, og meta tags --- app/index.html | 6 +++--- app/js/controllers.js | 35 ++++++++++++++++++----------------- app/js/lib/mtproto.js | 8 +++++++- 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/app/index.html b/app/index.html index aa1f8cff..ae21be84 100644 --- a/app/index.html +++ b/app/index.html @@ -11,7 +11,7 @@ - + @@ -37,12 +37,12 @@ - + - + diff --git a/app/js/controllers.js b/app/js/controllers.js index 6161e3c7..099a5992 100644 --- a/app/js/controllers.js +++ b/app/js/controllers.js @@ -410,7 +410,7 @@ angular.module('myApp.controllers', []) $scope.$on('user_update', angular.noop); }) - .controller('AppImSendController', function ($scope, MtpApiManager, AppPeersManager, AppMessagesManager, ApiUpdatesManager, MtpApiFileManager) { + .controller('AppImSendController', function ($scope, $timeout, MtpApiManager, AppPeersManager, AppMessagesManager, ApiUpdatesManager, MtpApiFileManager) { $scope.$watch('curDialog.peer', resetDraft); $scope.$on('user_update', angular.noop); @@ -438,27 +438,28 @@ angular.module('myApp.controllers', []) $scope.$watch('draftMessage.files', onFilesSelected); function sendMessage (e) { - cancelEvent(e); - var text = $scope.draftMessage.text; + $timeout(function () { + var text = $scope.draftMessage.text; - if (!text.length) { - return false; - } - - text = text.replace(/:\s*(.+?)\s*:/g, function (all, name) { - var utfChar = $.emojiarea.reverseIcons[name]; - if (utfChar !== undefined) { - return utfChar; + if (!text.length) { + return false; } - return all; - }); - AppMessagesManager.sendText($scope.curDialog.peerID, text); - resetDraft(); - $scope.$broadcast('ui_message_send'); + text = text.replace(/:\s*(.+?)\s*:/g, function (all, name) { + var utfChar = $.emojiarea.reverseIcons[name]; + if (utfChar !== undefined) { + return utfChar; + } + return all; + }); + + AppMessagesManager.sendText($scope.curDialog.peerID, text); + resetDraft(); + $scope.$broadcast('ui_message_send'); + }); - return false; + return cancelEvent(e); } diff --git a/app/js/lib/mtproto.js b/app/js/lib/mtproto.js index 18e8f751..5ae987e4 100644 --- a/app/js/lib/mtproto.js +++ b/app/js/lib/mtproto.js @@ -1099,6 +1099,7 @@ factory('MtpAuthorizer', function (MtpDcConfigurator, MtpRsaKeysManager, MtpSecu request.storeMethod('req_pq', {nonce: auth.nonce}); + dLog('Send req_pq', bytesToHex(auth.nonce)); mtpSendPlainRequest(auth.dcID, request.getBuffer()).then(function (result) { var deserializer = result.data; var response = deserializer.fetchObject('ResPQ'); @@ -1115,7 +1116,7 @@ factory('MtpAuthorizer', function (MtpDcConfigurator, MtpRsaKeysManager, MtpSecu auth.pq = response.pq; auth.fingerprints = response.server_public_key_fingerprints; - // dLog('ResPQ', bytesToHex(auth.serverNonce), bytesToHex(auth.pq), auth.fingerprints); + dLog('Got ResPQ', bytesToHex(auth.serverNonce), bytesToHex(auth.pq), auth.fingerprints); auth.publicKey = MtpRsaKeysManager.select(auth.fingerprints); @@ -1123,6 +1124,7 @@ factory('MtpAuthorizer', function (MtpDcConfigurator, MtpRsaKeysManager, MtpSecu throw new Error('No public key found'); } + dLog('PQ factorization start'); if (!!window.Worker) { var worker = new Worker('js/lib/pq_worker.js'); @@ -1181,6 +1183,7 @@ factory('MtpAuthorizer', function (MtpDcConfigurator, MtpRsaKeysManager, MtpSecu encrypted_data: rsaEncrypt(auth.publicKey, dataWithHash) }); + dLog('Send req_DH_params'); mtpSendPlainRequest(auth.dcID, request.getBuffer()).then(function (result) { var deserializer = result.data; var response = deserializer.fetchObject('Server_DH_Params', 'RESPONSE'); @@ -1250,6 +1253,7 @@ factory('MtpAuthorizer', function (MtpDcConfigurator, MtpRsaKeysManager, MtpSecu throw new Error('server_DH_inner_data serverNonce mismatch'); } + dLog('Done decrypting answer'); auth.g = response.g; auth.dhPrime = response.dh_prime; auth.gA = response.g_a; @@ -1296,6 +1300,7 @@ factory('MtpAuthorizer', function (MtpDcConfigurator, MtpRsaKeysManager, MtpSecu encrypted_data: encryptedData }); + dLog('Send set_client_DH_params'); mtpSendPlainRequest(auth.dcID, request.getBuffer()).then(function (result) { var deserializer = result.data; var response = deserializer.fetchObject('Set_client_DH_params_answer'); @@ -1323,6 +1328,7 @@ factory('MtpAuthorizer', function (MtpDcConfigurator, MtpRsaKeysManager, MtpSecu authKeyAux = authKeyHash.slice(0, 8), authKeyID = authKeyHash.slice(-8); + dLog('Got Set_client_DH_params_answer', response._); switch (response._) { case 'dh_gen_ok': var newNonceHash1 = sha1Hash(auth.newNonce.concat([1], authKeyAux)).slice(-16);