diff options
author | Michael Vetter <jubalh@iodoru.org> | 2020-07-04 17:41:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-04 17:41:20 +0200 |
commit | 193282a4fc45d9ee7bc2abf7e630de680314b8a9 (patch) | |
tree | 96ca2b2d3c08e4582457dceb08b595abe883f39b /src | |
parent | 7cd135512b5885520bfba9ed6b8dd73fe3d471d3 (diff) | |
parent | 3232451448a93e78d01095be82f1ddb47c7effd5 (diff) | |
download | profani-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.c | 24 |
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)); + } } } |