From 4404267ec4abc6bc1a9d79b4bb2b1099debd1dc9 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 12 Aug 2018 22:25:04 +0300 Subject: [PATCH] Remove redundant call to account.getPasswordSettings. GitOrigin-RevId: 8b4ee1f2ef3206cbae4d8231c723d57b286a80c0 --- td/telegram/PasswordManager.cpp | 8 ++++++++ td/telegram/SecureStorage.cpp | 3 +++ 2 files changed, 11 insertions(+) diff --git a/td/telegram/PasswordManager.cpp b/td/telegram/PasswordManager.cpp index c02760a0..f6129924 100644 --- a/td/telegram/PasswordManager.cpp +++ b/td/telegram/PasswordManager.cpp @@ -332,6 +332,12 @@ Result PasswordManager::decrypt_secure_secret( } void PasswordManager::do_get_full_state(string password, PasswordState state, Promise promise) { + if (!state.has_password) { + PasswordFullState result; + result.state = std::move(state); + return promise.set_value(std::move(result)); + } + auto hash = get_input_check_password(password, state); send_with_promise( G()->net_query_creator().create(create_storer(telegram_api::account_getPasswordSettings(std::move(hash)))), @@ -339,6 +345,7 @@ void PasswordManager::do_get_full_state(string password, PasswordState state, Pr [promise = std::move(promise), state = std::move(state), password](Result r_query) mutable { promise.set_result([&]() -> Result { TRY_RESULT(result, fetch_result(std::move(r_query))); + LOG(INFO) << "Receive password settings: " << to_string(result); PasswordPrivateState private_state; private_state.email = std::move(result->email_); @@ -580,6 +587,7 @@ void PasswordManager::do_get_state(Promise promise) { return promise.set_error(r_result.move_as_error()); } auto password = r_result.move_as_ok(); + LOG(INFO) << "Receive password info: " << to_string(password); Random::add_seed(password->secure_random_.as_slice()); PasswordState state; diff --git a/td/telegram/SecureStorage.cpp b/td/telegram/SecureStorage.cpp index 308c8ad3..e20cbb16 100644 --- a/td/telegram/SecureStorage.cpp +++ b/td/telegram/SecureStorage.cpp @@ -30,10 +30,12 @@ static AesCbcState calc_aes_cbc_state_hash(Slice hash) { as_slice(key).copy_from(hash.substr(0, 32)); UInt128 iv; as_slice(iv).copy_from(hash.substr(32, 16)); + LOG(INFO) << "End AES CBC state calculation"; return AesCbcState{key, iv}; } AesCbcState calc_aes_cbc_state_pbkdf2(Slice secret, Slice salt) { + LOG(INFO) << "Begin AES CBC state calculation"; UInt<512> hash; auto hash_slice = as_slice(hash); pbkdf2_sha512(secret, salt, 100000, hash_slice); @@ -41,6 +43,7 @@ AesCbcState calc_aes_cbc_state_pbkdf2(Slice secret, Slice salt) { } AesCbcState calc_aes_cbc_state_sha512(Slice seed) { + LOG(INFO) << "Begin AES CBC state calculation"; UInt<512> hash; auto hash_slice = as_slice(hash); sha512(seed, hash_slice);