mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
Request Device and Key, when OMEMO is in use
Profanity requests the device list and keys for contacts, also when the user hasn't generated the OMEMO key. If the user has no OMEMO key, there is no need to request OMEMO information. Issue: #1332
This commit is contained in:
parent
0071bbb4be
commit
3232451448
@ -403,18 +403,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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user