Decrypt all incoming OMEMO msg

Trust all key as long as it's for reading. This code isn't multithread
safe.
This commit is contained in:
Paul Fariello
2019-06-07 23:44:26 +02:00
parent 7c119aa9bf
commit 2604786cb6
3 changed files with 23 additions and 1 deletions

View File

@@ -724,6 +724,8 @@ omemo_on_message_send(ProfWin *win, const char *const message, gboolean request_
GList *device_ids_iter;
omemo_ctx.identity_key_store.recv = false;
GList *recipients_iter;
for (recipients_iter = recipients; recipients_iter != NULL; recipients_iter = recipients_iter->next) {
GList *recipient_device_id = NULL;
@@ -888,6 +890,8 @@ omemo_on_message_recv(const char *const from_jid, uint32_t sid,
goto out;
}
omemo_ctx.identity_key_store.recv = true;
if (key->prekey) {
log_debug("OMEMO: decrypting message with prekey");
pre_key_signal_message *message;
@@ -923,6 +927,9 @@ omemo_on_message_recv(const char *const from_jid, uint32_t sid,
}
}
omemo_ctx.identity_key_store.recv = false;
*trusted = omemo_ctx.identity_key_store.trusted_msg;
session_cipher_free(cipher);
if (res != 0) {
log_error("OMEMO: cannot decrypt message key");