From 5731a7c4729f75819b700c1e9b37badcf40a71eb Mon Sep 17 00:00:00 2001 From: Paul Fariello Date: Fri, 7 Jun 2019 21:00:32 +0200 Subject: Remove OMEMO session when untrusting a fingerprint We have to store known_devices in a long term fashion otherwise we might not be able to delete session if it is remove from device list server side. --- src/omemo/store.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/omemo/store.c') diff --git a/src/omemo/store.c b/src/omemo/store.c index 76b7449c..4fa77d63 100644 --- a/src/omemo/store.c +++ b/src/omemo/store.c @@ -148,7 +148,14 @@ delete_session(const signal_protocol_address *address, void *user_data) return SG_SUCCESS; } - return g_hash_table_remove(device_store, GINT_TO_POINTER(address->device_id)); + g_hash_table_remove(device_store, GINT_TO_POINTER(address->device_id)); + + char *device_id_str = g_strdup_printf("%d", address->device_id); + g_key_file_remove_key(omemo_sessions_keyfile(), address->name, device_id_str, NULL); + g_free(device_id_str); + omemo_sessions_keyfile_save(); + + return SG_SUCCESS; } int -- cgit 1.4.1-2-gfad0