From cc5897f3fab231a5661c60e76a0fa788b72d3dcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Thu, 21 Dec 2023 13:42:43 -0500 Subject: [PATCH] conversation_module: remove requests from self This should not happen. Probably a relic of the past, but should be removed. Change-Id: Ic1506dc6b7e3e7ef75e743193e7606c46c53b662 --- src/jamidht/conversation_module.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/jamidht/conversation_module.cpp b/src/jamidht/conversation_module.cpp index 75cac2d29e..5372378c19 100644 --- a/src/jamidht/conversation_module.cpp +++ b/src/jamidht/conversation_module.cpp @@ -1183,6 +1183,19 @@ ConversationModule::Impl::fixStructures(std::shared_ptr<JamiAccount> acc, const } } } + auto requestRemoved = false; + for (auto it = conversationsRequests_.begin(); it != conversationsRequests_.end();) { + if (it->second.from == username_) { + JAMI_WARNING("Detected request from ourself, this makes no sense. Remove {}", it->first); + it = conversationsRequests_.erase(it); + } else { + ++it; + } + } + if (requestRemoved) { + saveConvRequests(); + } + } for (const auto& invalidPendingRequest : invalidPendingRequests) acc->discardTrustRequest(invalidPendingRequest); @@ -2167,6 +2180,10 @@ ConversationModule::onSyncData(const SyncMsg& msg, } for (const auto& [convId, req] : msg.cr) { + if (req.from == pimpl_->username_) { + JAMI_WARNING("Detected request from ourself, ignore {}.", convId); + continue; + } if (pimpl_->isConversation(convId)) { // Already handled request pimpl_->rmConversationRequest(convId); -- GitLab