about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2020-07-04 17:41:20 +0200
committerGitHub <noreply@github.com>2020-07-04 17:41:20 +0200
commit193282a4fc45d9ee7bc2abf7e630de680314b8a9 (patch)
tree96ca2b2d3c08e4582457dceb08b595abe883f39b /src
parent7cd135512b5885520bfba9ed6b8dd73fe3d471d3 (diff)
parent3232451448a93e78d01095be82f1ddb47c7effd5 (diff)
downloadprofani-tty-193282a4fc45d9ee7bc2abf7e630de680314b8a9.tar.gz
Merge pull request #1387 from DebXWoody/bugfix/1332-omemo
Request Device and Key, when OMEMO is in use
Diffstat (limited to 'src')
-rw-r--r--src/omemo/omemo.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/omemo/omemo.c b/src/omemo/omemo.c
index c61db776..b917d14c 100644
--- a/src/omemo/omemo.c
+++ b/src/omemo/omemo.c
@@ -396,18 +396,20 @@ omemo_start_sessions(void)
 void
 omemo_start_session(const char *const barejid)
 {
-    log_info("OMEMO: start session with %s", barejid);
-    GList *device_list = g_hash_table_lookup(omemo_ctx.device_list, barejid);
-    if (!device_list) {
-        log_info("OMEMO: missing device list for %s", barejid);
-        omemo_devicelist_request(barejid);
-        g_hash_table_insert(omemo_ctx.device_list_handler, strdup(barejid), _handle_device_list_start_session);
-        return;
-    }
+    if( omemo_loaded() ) {
+        log_info("OMEMO: start session with %s", barejid);
+        GList *device_list = g_hash_table_lookup(omemo_ctx.device_list, barejid);
+        if (!device_list) {
+            log_info("OMEMO: missing device list for %s", barejid);
+            omemo_devicelist_request(barejid);
+            g_hash_table_insert(omemo_ctx.device_list_handler, strdup(barejid), _handle_device_list_start_session);
+            return;
+        }
 
-    GList *device_id;
-    for (device_id = device_list; device_id != NULL; device_id = device_id->next) {
-        omemo_bundle_request(barejid, GPOINTER_TO_INT(device_id->data), omemo_start_device_session_handle_bundle, free, strdup(barejid));
+        GList *device_id;
+        for (device_id = device_list; device_id != NULL; device_id = device_id->next) {
+            omemo_bundle_request(barejid, GPOINTER_TO_INT(device_id->data), omemo_start_device_session_handle_bundle, free, strdup(barejid));
+        }
     }
 }