Use secure_random.
GitOrigin-RevId: 49c4ff11b0c165a802cea7cc83783e54e7613d0b
This commit is contained in:
parent
d584e80cf9
commit
3c9599b8aa
@ -401,6 +401,7 @@ void PasswordManager::do_get_state(Promise<PasswordState> promise) {
|
|||||||
auto result = r_result.move_as_ok();
|
auto result = r_result.move_as_ok();
|
||||||
|
|
||||||
PasswordState state;
|
PasswordState state;
|
||||||
|
string secure_random;
|
||||||
if (result->get_id() == telegram_api::account_noPassword::ID) {
|
if (result->get_id() == telegram_api::account_noPassword::ID) {
|
||||||
auto no_password = move_tl_object_as<telegram_api::account_noPassword>(result);
|
auto no_password = move_tl_object_as<telegram_api::account_noPassword>(result);
|
||||||
state.has_password = false;
|
state.has_password = false;
|
||||||
@ -408,7 +409,7 @@ void PasswordManager::do_get_state(Promise<PasswordState> promise) {
|
|||||||
state.current_salt = "";
|
state.current_salt = "";
|
||||||
state.new_salt = no_password->new_salt_.as_slice().str();
|
state.new_salt = no_password->new_salt_.as_slice().str();
|
||||||
state.new_secure_salt = no_password->new_secure_salt_.as_slice().str();
|
state.new_secure_salt = no_password->new_secure_salt_.as_slice().str();
|
||||||
state.secure_random = no_password->secure_random_.as_slice().str();
|
secure_random = no_password->secure_random_.as_slice().str();
|
||||||
state.has_recovery_email_address = false;
|
state.has_recovery_email_address = false;
|
||||||
state.unconfirmed_recovery_email_address_pattern = no_password->email_unconfirmed_pattern_;
|
state.unconfirmed_recovery_email_address_pattern = no_password->email_unconfirmed_pattern_;
|
||||||
} else if (result->get_id() == telegram_api::account_password::ID) {
|
} else if (result->get_id() == telegram_api::account_password::ID) {
|
||||||
@ -418,12 +419,13 @@ void PasswordManager::do_get_state(Promise<PasswordState> promise) {
|
|||||||
state.current_salt = password->current_salt_.as_slice().str();
|
state.current_salt = password->current_salt_.as_slice().str();
|
||||||
state.new_salt = password->new_salt_.as_slice().str();
|
state.new_salt = password->new_salt_.as_slice().str();
|
||||||
state.new_secure_salt = password->new_secure_salt_.as_slice().str();
|
state.new_secure_salt = password->new_secure_salt_.as_slice().str();
|
||||||
state.secure_random = password->secure_random_.as_slice().str();
|
secure_random = password->secure_random_.as_slice().str();
|
||||||
state.has_recovery_email_address = password->has_recovery_;
|
state.has_recovery_email_address = password->has_recovery_;
|
||||||
state.unconfirmed_recovery_email_address_pattern = password->email_unconfirmed_pattern_;
|
state.unconfirmed_recovery_email_address_pattern = password->email_unconfirmed_pattern_;
|
||||||
} else {
|
} else {
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
Random::add_seed(secure_random);
|
||||||
promise.set_value(std::move(state));
|
promise.set_value(std::move(state));
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,6 @@ class PasswordManager : public NetQueryCallback {
|
|||||||
string new_salt;
|
string new_salt;
|
||||||
|
|
||||||
string new_secure_salt;
|
string new_secure_salt;
|
||||||
string secure_random;
|
|
||||||
|
|
||||||
State as_td_api() const {
|
State as_td_api() const {
|
||||||
return td_api::make_object<td_api::passwordState>(has_password, password_hint, has_recovery_email_address,
|
return td_api::make_object<td_api::passwordState>(has_password, password_hint, has_recovery_email_address,
|
||||||
|
Loading…
Reference in New Issue
Block a user