merge/upstream-full #105

Manually merged
jabber.developer merged 407 commits from merge/upstream-full into master 2026-05-26 17:54:34 +00:00
385 changed files with 12582 additions and 35980 deletions
Showing only changes of commit cbe6dac448 - Show all commits

View File

@@ -612,9 +612,13 @@ omemo_sessions_keyfile(void)
return omemo_ctx.sessions.keyfile; return omemo_ctx.sessions.keyfile;
} }
static gboolean omemo_sessions_keyfile_save_disable = FALSE;
void void
omemo_sessions_keyfile_save(void) omemo_sessions_keyfile_save(void)
{ {
if (omemo_sessions_keyfile_save_disable)
return;
save_keyfile(&omemo_ctx.sessions); save_keyfile(&omemo_ctx.sessions);
} }
@@ -766,6 +770,8 @@ omemo_on_message_send(ProfWin* win, const char* const message, gboolean request_
unsigned char* key_tag = NULL; unsigned char* key_tag = NULL;
size_t ciphertext_len, tag_len; size_t ciphertext_len, tag_len;
omemo_sessions_keyfile_save_disable = TRUE;
ciphertext_len = strlen(message); ciphertext_len = strlen(message);
ciphertext = malloc(ciphertext_len); ciphertext = malloc(ciphertext_len);
if (!ciphertext) { if (!ciphertext) {
@@ -983,6 +989,8 @@ omemo_on_message_send(ProfWin* win, const char* const message, gboolean request_
} }
out: out:
omemo_sessions_keyfile_save_disable = FALSE;
omemo_sessions_keyfile_save();
g_list_free_full(keys, (GDestroyNotify)omemo_key_free); g_list_free_full(keys, (GDestroyNotify)omemo_key_free);
free(ciphertext); free(ciphertext);
gcry_free(key); gcry_free(key);