diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index ab1625f73..4bdc08e95 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -5844,8 +5844,7 @@ void ContactsManager::save_secret_chat(SecretChat *c, SecretChatId secret_chat_i if (c->logevent_id == 0) { c->logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SecretChatInfos, storer); } else { - binlog_rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::SecretChatInfos, - storer); + binlog_rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::SecretChatInfos, storer); } } diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index bebd76ead..e4048f26d 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -6696,8 +6696,8 @@ void MessagesManager::change_dialog_report_spam_state_on_server(DialogId dialog_ logevent.is_spam_dialog_ = is_spam_dialog; auto storer = LogEventStorerImpl(logevent); - logevent_id = binlog_add(G()->td_db()->get_binlog(), - LogEvent::HandlerType::ChangeDialogReportSpamStateOnServer, storer); + logevent_id = + binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ChangeDialogReportSpamStateOnServer, storer); } auto new_promise = get_erase_logevent_promise(logevent_id, std::move(promise)); @@ -8283,8 +8283,7 @@ void MessagesManager::delete_messages_from_server(DialogId dialog_id, vector(logevent); - logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteMessagesFromServer, storer); + logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteMessagesFromServer, storer); } auto new_promise = get_erase_logevent_promise(logevent_id, std::move(promise)); @@ -8421,8 +8420,7 @@ void MessagesManager::delete_dialog_history_from_server(DialogId dialog_id, Mess logevent.remove_from_dialog_list_ = remove_from_dialog_list; auto storer = LogEventStorerImpl(logevent); - logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteDialogHistoryFromServer, storer); + logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteDialogHistoryFromServer, storer); } auto new_promise = get_erase_logevent_promise(logevent_id, std::move(promise)); @@ -8620,8 +8618,8 @@ void MessagesManager::delete_all_channel_messages_from_user_on_server(ChannelId logevent.user_id_ = user_id; auto storer = LogEventStorerImpl(logevent); - logevent_id = binlog_add(G()->td_db()->get_binlog(), - LogEvent::HandlerType::DeleteAllChannelMessagesFromUserOnServer, storer); + logevent_id = + binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteAllChannelMessagesFromUserOnServer, storer); } td_->create_handler(get_erase_logevent_promise(logevent_id, std::move(promise))) @@ -8822,8 +8820,7 @@ void MessagesManager::read_all_dialog_mentions_on_server(DialogId dialog_id, uin logevent.dialog_id_ = dialog_id; auto storer = LogEventStorerImpl(logevent); - logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadAllDialogMentionsOnServer, storer); + logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadAllDialogMentionsOnServer, storer); } LOG(INFO) << "Read all mentions on server in " << dialog_id; @@ -12577,12 +12574,12 @@ Status MessagesManager::set_dialog_draft_message(DialogId dialog_id, logevent.dialog_id_ = dialog_id; auto storer = LogEventStorerImpl(logevent); if (d->save_draft_message_logevent_id == 0) { - d->save_draft_message_logevent_id = binlog_add( - G()->td_db()->get_binlog(), LogEvent::HandlerType::SaveDialogDraftMessageOnServer, storer); + d->save_draft_message_logevent_id = + binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SaveDialogDraftMessageOnServer, storer); LOG(INFO) << "Add draft logevent " << d->save_draft_message_logevent_id; } else { auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), d->save_draft_message_logevent_id, - LogEvent::HandlerType::SaveDialogDraftMessageOnServer, storer); + LogEvent::HandlerType::SaveDialogDraftMessageOnServer, storer); LOG(INFO) << "Rewrite draft logevent " << d->save_draft_message_logevent_id << " with " << new_logevent_id; } d->save_draft_message_logevent_id_generation++; @@ -12712,8 +12709,7 @@ void MessagesManager::toggle_dialog_is_pinned_on_server(DialogId dialog_id, bool logevent.is_pinned_ = is_pinned; auto storer = LogEventStorerImpl(logevent); - logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ToggleDialogIsPinnedOnServer, storer); + logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ToggleDialogIsPinnedOnServer, storer); } td_->create_handler(get_erase_logevent_promise(logevent_id))->send(dialog_id, is_pinned); @@ -12810,8 +12806,7 @@ void MessagesManager::reorder_pinned_dialogs_on_server(const vector &d logevent.dialog_ids_ = dialog_ids; auto storer = LogEventStorerImpl(logevent); - logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReorderPinnedDialogsOnServer, storer); + logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReorderPinnedDialogsOnServer, storer); } td_->create_handler(get_erase_logevent_promise(logevent_id))->send(dialog_ids); @@ -12868,8 +12863,8 @@ void MessagesManager::toggle_dialog_is_marked_as_unread_on_server(DialogId dialo logevent.is_marked_as_unread_ = is_marked_as_unread; auto storer = LogEventStorerImpl(logevent); - logevent_id = binlog_add(G()->td_db()->get_binlog(), - LogEvent::HandlerType::ToggleDialogIsMarkedAsUnreadOnServer, storer); + logevent_id = + binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ToggleDialogIsMarkedAsUnreadOnServer, storer); } td_->create_handler(get_erase_logevent_promise(logevent_id)) @@ -12923,9 +12918,8 @@ void MessagesManager::update_dialog_notification_settings_on_server(DialogId dia G()->td_db()->get_binlog(), LogEvent::HandlerType::UpdateDialogNotificationSettingsOnServer, storer); LOG(INFO) << "Add notification settings logevent " << d->save_notification_settings_logevent_id; } else { - auto new_logevent_id = - binlog_rewrite(G()->td_db()->get_binlog(), d->save_notification_settings_logevent_id, - LogEvent::HandlerType::UpdateDialogNotificationSettingsOnServer, storer); + auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), d->save_notification_settings_logevent_id, + LogEvent::HandlerType::UpdateDialogNotificationSettingsOnServer, storer); LOG(INFO) << "Rewrite notification settings logevent " << d->save_notification_settings_logevent_id << " with " << new_logevent_id; } @@ -13279,8 +13273,7 @@ void MessagesManager::read_message_contents_on_server(DialogId dialog_id, vector logevent.message_ids_ = message_ids; auto storer = LogEventStorerImpl(logevent); - logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadMessageContentsOnServer, storer); + logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadMessageContentsOnServer, storer); } auto promise = get_erase_logevent_promise(logevent_id); @@ -13693,8 +13686,8 @@ void MessagesManager::update_scope_notification_settings_on_server(NotificationS logevent.scope_ = scope; auto storer = LogEventStorerImpl(logevent); - logevent_id = binlog_add(G()->td_db()->get_binlog(), - LogEvent::HandlerType::UpdateScopeNotificationSettingsOnServer, storer); + logevent_id = + binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::UpdateScopeNotificationSettingsOnServer, storer); } LOG(INFO) << "Update " << scope << " notification settings on server with logevent " << logevent_id; @@ -13735,8 +13728,8 @@ void MessagesManager::reset_all_notification_settings_on_server(uint64 logevent_ if (logevent_id == 0) { ResetAllNotificationSettingsOnServerLogEvent logevent; auto storer = LogEventStorerImpl(logevent); - logevent_id = binlog_add(G()->td_db()->get_binlog(), - LogEvent::HandlerType::ResetAllNotificationSettingsOnServer, storer); + logevent_id = + binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ResetAllNotificationSettingsOnServer, storer); } LOG(INFO) << "Reset all notification settings"; @@ -13992,7 +13985,7 @@ void MessagesManager::read_history_on_server(Dialog *d, MessageId max_message_id LOG(INFO) << "Add read history logevent " << d->read_history_logevent_id; } else { auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), d->read_history_logevent_id, - LogEvent::HandlerType::ReadHistoryInSecretChat, storer); + LogEvent::HandlerType::ReadHistoryInSecretChat, storer); LOG(INFO) << "Rewrite read history logevent " << d->read_history_logevent_id << " with " << new_logevent_id; } d->read_history_logevent_id_generation++; @@ -14008,7 +14001,7 @@ void MessagesManager::read_history_on_server(Dialog *d, MessageId max_message_id LOG(INFO) << "Add read history logevent " << d->read_history_logevent_id; } else { auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), d->read_history_logevent_id, - LogEvent::HandlerType::ReadHistoryOnServer, storer); + LogEvent::HandlerType::ReadHistoryOnServer, storer); LOG(INFO) << "Rewrite read history logevent " << d->read_history_logevent_id << " with " << new_logevent_id; } d->read_history_logevent_id_generation++; @@ -17061,8 +17054,7 @@ void MessagesManager::save_send_message_logevent(DialogId dialog_id, Message *m) auto logevent = SendMessageLogEvent(dialog_id, m); auto storer = LogEventStorerImpl(logevent); CHECK(m->send_message_logevent_id == 0); - m->send_message_logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendMessage, storer); + m->send_message_logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendMessage, storer); } void MessagesManager::do_send_message(DialogId dialog_id, Message *m, vector bad_parts) { @@ -19230,8 +19222,7 @@ uint64 MessagesManager::save_send_screenshot_taken_notification_message_logevent logevent.dialog_id = dialog_id; logevent.m_in = m; auto storer = LogEventStorerImpl(logevent); - return binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendScreenshotTakenNotificationMessage, - storer); + return binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendScreenshotTakenNotificationMessage, storer); } void MessagesManager::do_send_screenshot_taken_notification_message(DialogId dialog_id, const Message *m, @@ -19980,8 +19971,7 @@ void MessagesManager::on_send_message_file_part_missing(int64 random_id, int bad auto logevent = SendMessageLogEvent(dialog_id, m); auto storer = LogEventStorerImpl(logevent); CHECK(m->send_message_logevent_id != 0); - binlog_rewrite(G()->td_db()->get_binlog(), m->send_message_logevent_id, LogEvent::HandlerType::SendMessage, - storer); + binlog_rewrite(G()->td_db()->get_binlog(), m->send_message_logevent_id, LogEvent::HandlerType::SendMessage, storer); } do_send_message(dialog_id, m, {bad_part}); @@ -25290,8 +25280,7 @@ void MessagesManager::get_channel_difference(DialogId dialog_id, int32 pts, bool auto access_hash = static_cast(*input_channel).access_hash_; auto logevent = GetChannelDifferenceLogEvent(channel_id, access_hash); auto storer = LogEventStorerImpl(logevent); - auto logevent_id = - binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::GetChannelDifference, storer); + auto logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::GetChannelDifference, storer); get_channel_difference_to_logevent_id_.emplace(dialog_id, logevent_id); } diff --git a/td/telegram/SecretChatActor.cpp b/td/telegram/SecretChatActor.cpp index fa29a7831..2f4fc7662 100644 --- a/td/telegram/SecretChatActor.cpp +++ b/td/telegram/SecretChatActor.cpp @@ -82,8 +82,7 @@ void SecretChatActor::create_chat(int32 user_id, int64 user_access_hash, int32 r event->user_id = user_id; event->user_access_hash = user_access_hash; event->random_id = random_id; - event->set_logevent_id( - binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event))); + event->set_logevent_id(binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event))); do_create_chat_impl(std::move(event)); promise.set_value(SecretChatId(random_id)); loop(); @@ -708,8 +707,7 @@ void SecretChatActor::cancel_chat(Promise<> promise) { auto event = std::make_unique(); event->chat_id = auth_state_.id; - event->set_logevent_id( - binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event))); + event->set_logevent_id(binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event))); auto on_sync = PromiseCreator::lambda( [actor_id = actor_id(this), event = std::move(event), promise = std::move(promise)](Result result) mutable { @@ -1087,8 +1085,7 @@ void SecretChatActor::do_outbound_message_impl(std::unique_ptrmessage->logevent_id(); if (logevent_id == 0) { - logevent_id = - binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*state->message)); + logevent_id = binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*state->message)); LOG(INFO) << "Outbound secret message [save_logevent] start " << tag("logevent_id", logevent_id); context_->binlog()->force_sync(std::move(save_logevent_finish)); state->message->set_logevent_id(logevent_id); @@ -1176,8 +1173,8 @@ Status SecretChatActor::do_inbound_message_decrypted_pending(std::unique_ptris_pending = true; - message->set_logevent_id(binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, - create_storer(*message), std::move(qts_promise))); + message->set_logevent_id(binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*message), + std::move(qts_promise))); LOG(INFO) << "Inbound PENDING secret message [save_logevent] start (do not expect finish) " << tag("logevent_id", message->logevent_id()); } else { @@ -1498,7 +1495,7 @@ void SecretChatActor::outbound_resend(uint64 state_id) { << tag("state_id", state_id); binlog_rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats, - create_storer(*state->message)); + create_storer(*state->message)); auto send_message_start = PromiseCreator::lambda([actor_id = actor_id(this), state_id](Result<> result) { if (result.is_ok()) { send_closure(actor_id, &SecretChatActor::on_outbound_send_message_start, state_id); @@ -1537,7 +1534,7 @@ Status SecretChatActor::outbound_rewrite_with_empty(uint64 state_id) { state->message->is_service = true; state->message->file = logevent::EncryptedInputFile::from_input_encrypted_file(nullptr); binlog_rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats, - create_storer(*state->message)); + create_storer(*state->message)); return Status::OK(); } @@ -1779,7 +1776,7 @@ void SecretChatActor::outbound_loop(OutboundMessageState *state, uint64 state_id LOG(INFO) << "Outbound message [rewrite_logevent] start " << tag("logevent_id", state->message->logevent_id()); state->message->is_sent = true; binlog_rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats, - create_storer(*state->message)); + create_storer(*state->message)); } } diff --git a/test/db.cpp b/test/db.cpp index 2da801879..7cbf71e9f 100644 --- a/test/db.cpp +++ b/test/db.cpp @@ -61,14 +61,18 @@ TEST(DB, binlog_encryption) { { Binlog binlog; binlog.init(binlog_name.str(), [](const BinlogEvent &x) {}).ensure(); - binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer("AAAA")), BinlogDebugInfo{__FILE__, __LINE__}); - binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer("BBBB")), BinlogDebugInfo{__FILE__, __LINE__}); - binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer(long_data)), BinlogDebugInfo{__FILE__, __LINE__}); + binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer("AAAA")), + BinlogDebugInfo{__FILE__, __LINE__}); + binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer("BBBB")), + BinlogDebugInfo{__FILE__, __LINE__}); + binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer(long_data)), + BinlogDebugInfo{__FILE__, __LINE__}); LOG(INFO) << "SET PASSWORD"; binlog.change_key(cucumber); binlog.change_key(hello); LOG(INFO) << "OK"; - binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer("CCCC")), BinlogDebugInfo{__FILE__, __LINE__}); + binlog.add_raw_event(BinlogEvent::create_raw(binlog.next_id(), 1, 0, create_storer("CCCC")), + BinlogDebugInfo{__FILE__, __LINE__}); binlog.close().ensure(); }