From 5b6b5130ae7b5bc901d9e43a8eacd24a04a21059 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Fri, 8 Sep 2023 14:51:13 +0200 Subject: [PATCH] Fix OMEMO keyfile loading We have to lazy load the keyfiles as they will maybe be written at one point and should be initialized by that time. Fixup of ca2df180d81f1b30142e63cd7621a00eb9248913 Signed-off-by: Steffen Jaeckel --- src/omemo/omemo.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/omemo/omemo.c b/src/omemo/omemo.c index 64be971f..97c4a052 100644 --- a/src/omemo/omemo.c +++ b/src/omemo/omemo.c @@ -230,24 +230,22 @@ omemo_on_connect(ProfAccount* account) return; } - if (!load_custom_keyfile(&omemo_ctx.identity, g_strdup_printf("%s/%s", omemo_dir, "identity.txt")) || !_load_identity()) { - return; + if (load_custom_keyfile(&omemo_ctx.identity, g_strdup_printf("%s/%s", omemo_dir, "identity.txt"))) { + if (!_load_identity()) + return; } - if (!load_custom_keyfile(&omemo_ctx.trust, g_strdup_printf("%s/%s", omemo_dir, "trust.txt"))) { - return; + if (load_custom_keyfile(&omemo_ctx.trust, g_strdup_printf("%s/%s", omemo_dir, "trust.txt"))) { + _load_trust(); } - _load_trust(); - if (!load_custom_keyfile(&omemo_ctx.sessions, g_strdup_printf("%s/%s", omemo_dir, "sessions.txt"))) { - return; + if (load_custom_keyfile(&omemo_ctx.sessions, g_strdup_printf("%s/%s", omemo_dir, "sessions.txt"))) { + _load_sessions(); } - _load_sessions(); - if (!load_custom_keyfile(&omemo_ctx.knowndevices, g_strdup_printf("%s/%s", omemo_dir, "known_devices.txt"))) { - return; + if (load_custom_keyfile(&omemo_ctx.knowndevices, g_strdup_printf("%s/%s", omemo_dir, "known_devices.txt"))) { + _load_known_devices(); } - _load_known_devices(); omemo_devicelist_subscribe(); }