From 9de5b27db235a07f84a778b2d20c2dc7bd55b8d7 Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 23 Oct 2023 15:45:38 +0300 Subject: [PATCH] Destroy auth keys in non-inited internal DCs. --- td/telegram/net/NetQueryDispatcher.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/td/telegram/net/NetQueryDispatcher.cpp b/td/telegram/net/NetQueryDispatcher.cpp index 9c50eb700..314d7702f 100644 --- a/td/telegram/net/NetQueryDispatcher.cpp +++ b/td/telegram/net/NetQueryDispatcher.cpp @@ -235,6 +235,13 @@ void NetQueryDispatcher::update_session_count() { } } void NetQueryDispatcher::destroy_auth_keys(Promise<> promise) { + for (size_t i = 1; i < DcId::MAX_RAW_DC_ID && i <= 5; i++) { + auto dc_id = DcId::internal(i); + if (!is_dc_inited(i) && !AuthDataShared::get_auth_key_for_dc(dc_id).empty()) { + wait_dc_init(dc_id, true).ignore(); + } + } + std::lock_guard guard(main_dc_id_mutex_); LOG(INFO) << "Destroy auth keys"; need_destroy_auth_key_ = true;