Remove "auth" internal option.
This commit is contained in:
parent
2ebeca31ca
commit
f9161dccc3
@ -720,6 +720,10 @@ void AuthManager::on_authorization_lost(string source) {
|
|||||||
LOG(INFO) << "Ignore authorization loss because of " << source << ", while logging out";
|
LOG(INFO) << "Ignore authorization loss because of " << source << ", while logging out";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (state_ == State::Closing || state_ == State::DestroyingKeys) {
|
||||||
|
LOG(INFO) << "Ignore duplicate authorization loss because of " << source;
|
||||||
|
return;
|
||||||
|
}
|
||||||
LOG(WARNING) << "Lost authorization because of " << source;
|
LOG(WARNING) << "Lost authorization because of " << source;
|
||||||
destroy_auth_keys();
|
destroy_auth_keys();
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
//
|
//
|
||||||
#include "td/telegram/Global.h"
|
#include "td/telegram/Global.h"
|
||||||
|
|
||||||
|
#include "td/telegram/AuthManager.h"
|
||||||
#include "td/telegram/ConfigShared.h"
|
#include "td/telegram/ConfigShared.h"
|
||||||
#include "td/telegram/net/ConnectionCreator.h"
|
#include "td/telegram/net/ConnectionCreator.h"
|
||||||
#include "td/telegram/net/NetQueryDispatcher.h"
|
#include "td/telegram/net/NetQueryDispatcher.h"
|
||||||
@ -29,9 +30,7 @@ Global::Global() = default;
|
|||||||
Global::~Global() = default;
|
Global::~Global() = default;
|
||||||
|
|
||||||
void Global::log_out(Slice reason) {
|
void Global::log_out(Slice reason) {
|
||||||
if (!have_option("auth")) {
|
send_closure(auth_manager_, &AuthManager::on_authorization_lost, reason.str());
|
||||||
set_option_string("auth", reason);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Global::close_all(Promise<> on_finished) {
|
void Global::close_all(Promise<> on_finished) {
|
||||||
|
@ -34,6 +34,7 @@ namespace td {
|
|||||||
|
|
||||||
class AnimationsManager;
|
class AnimationsManager;
|
||||||
class AttachMenuManager;
|
class AttachMenuManager;
|
||||||
|
class AuthManager;
|
||||||
class BackgroundManager;
|
class BackgroundManager;
|
||||||
class CallManager;
|
class CallManager;
|
||||||
class ConfigManager;
|
class ConfigManager;
|
||||||
@ -206,6 +207,10 @@ class Global final : public ActorContext {
|
|||||||
attach_menu_manager_ = attach_menu_manager;
|
attach_menu_manager_ = attach_menu_manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set_auth_manager(ActorId<AuthManager> auth_manager) {
|
||||||
|
auth_manager_ = auth_manager;
|
||||||
|
}
|
||||||
|
|
||||||
ActorId<BackgroundManager> background_manager() const {
|
ActorId<BackgroundManager> background_manager() const {
|
||||||
return background_manager_;
|
return background_manager_;
|
||||||
}
|
}
|
||||||
@ -479,6 +484,7 @@ class Global final : public ActorContext {
|
|||||||
ActorId<Td> td_;
|
ActorId<Td> td_;
|
||||||
ActorId<AnimationsManager> animations_manager_;
|
ActorId<AnimationsManager> animations_manager_;
|
||||||
ActorId<AttachMenuManager> attach_menu_manager_;
|
ActorId<AttachMenuManager> attach_menu_manager_;
|
||||||
|
ActorId<AuthManager> auth_manager_;
|
||||||
ActorId<BackgroundManager> background_manager_;
|
ActorId<BackgroundManager> background_manager_;
|
||||||
ActorId<CallManager> call_manager_;
|
ActorId<CallManager> call_manager_;
|
||||||
ActorId<ConfigManager> config_manager_;
|
ActorId<ConfigManager> config_manager_;
|
||||||
|
@ -128,8 +128,7 @@ bool OptionManager::is_internal_option(Slice name) {
|
|||||||
switch (name[0]) {
|
switch (name[0]) {
|
||||||
case 'a':
|
case 'a':
|
||||||
return name == "about_length_limit_default" || name == "about_length_limit_premium" ||
|
return name == "about_length_limit_default" || name == "about_length_limit_premium" ||
|
||||||
name == "animated_emoji_zoom" || name == "animation_search_emojis" ||
|
name == "animated_emoji_zoom" || name == "animation_search_emojis" || name == "animation_search_provider";
|
||||||
name == "animation_search_provider" || name == "auth";
|
|
||||||
case 'b':
|
case 'b':
|
||||||
return name == "base_language_pack_version";
|
return name == "base_language_pack_version";
|
||||||
case 'c':
|
case 'c':
|
||||||
@ -201,9 +200,6 @@ void OptionManager::on_option_updated(const string &name) {
|
|||||||
if (name == "animation_search_provider") {
|
if (name == "animation_search_provider") {
|
||||||
td_->animations_manager_->on_update_animation_search_provider(G()->get_option_string(name));
|
td_->animations_manager_->on_update_animation_search_provider(G()->get_option_string(name));
|
||||||
}
|
}
|
||||||
if (name == "auth") {
|
|
||||||
send_closure(td_->auth_manager_actor_, &AuthManager::on_authorization_lost, G()->get_option_string(name));
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'b':
|
case 'b':
|
||||||
if (name == "base_language_pack_version") {
|
if (name == "base_language_pack_version") {
|
||||||
|
@ -3674,6 +3674,7 @@ void Td::init(Result<TdDb::OpenedDatabase> r_opened_database) {
|
|||||||
VLOG(td_init) << "Create AuthManager";
|
VLOG(td_init) << "Create AuthManager";
|
||||||
auth_manager_ = td::make_unique<AuthManager>(parameters_.api_id, parameters_.api_hash, create_reference());
|
auth_manager_ = td::make_unique<AuthManager>(parameters_.api_id, parameters_.api_hash, create_reference());
|
||||||
auth_manager_actor_ = register_actor("AuthManager", auth_manager_.get());
|
auth_manager_actor_ = register_actor("AuthManager", auth_manager_.get());
|
||||||
|
G()->set_auth_manager(auth_manager_actor_.get());
|
||||||
|
|
||||||
init_file_manager();
|
init_file_manager();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user