From 4b2cc45f96670e392207a49f38d018411e01f197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Mon, 21 Feb 2022 13:25:24 -0500 Subject: [PATCH] conversation: pinCertificates must be blocking before reload In the current code, if pinCertificate is too slow, the following getCertificate will fail. https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/340 Change-Id: I0813b5984b4a6952373c7bd0fad3748950139784 --- src/jamidht/conversation.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/jamidht/conversation.cpp b/src/jamidht/conversation.cpp index 8c6a44425b..56312296d8 100644 --- a/src/jamidht/conversation.cpp +++ b/src/jamidht/conversation.cpp @@ -379,12 +379,14 @@ Conversation::Impl::convCommitToMap(const ConversationCommit& commit) const if (!cert || !cert->issuer) { JAMI_WARN("No author found for commit %s, reload certificates", commit.id.c_str()); if (repository_) - repository_->pinCertificates(); + repository_->pinCertificates(true); // Get certificate from repo try { cert = tls::CertificateStore::instance().getCertificate(authorDevice); if (!cert || !cert->issuer) { - JAMI_ERR("No author found for commit %s", commit.id.c_str()); + JAMI_ERR("No author found for commit %s (device: %s)", + commit.id.c_str(), + authorDevice.c_str()); return std::nullopt; } } catch (...) { -- GitLab