Save the olm account after we create new one-time keys
Otherwise after a restart the old account will be loaded and we won't be able to decrypt messages from devices using the new one-time keys. Also new one-time key upload requests will fail due to conflicts with the existing keys with the same keyid.
This commit is contained in:
parent
4514d13948
commit
604cdcec8a
3 changed files with 15 additions and 2 deletions
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
using namespace mtx::crypto;
|
||||
|
||||
static const std::string STORAGE_SECRET_KEY("secret");
|
||||
|
||||
namespace {
|
||||
auto client_ = std::make_unique<mtx::crypto::OlmClient>();
|
||||
}
|
||||
|
|
@ -229,4 +231,11 @@ create_inbound_megolm_session(const std::string &sender,
|
|||
nhlog::crypto()->info("established inbound megolm session ({}, {})", room_id, sender);
|
||||
}
|
||||
|
||||
void
|
||||
mark_keys_as_published()
|
||||
{
|
||||
olm::client()->mark_keys_as_published();
|
||||
cache::client()->saveOlmAccount(olm::client()->save(STORAGE_SECRET_KEY));
|
||||
}
|
||||
|
||||
} // namespace olm
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue