diff options
author | Paul Fariello <paul@fariello.eu> | 2019-06-07 21:00:32 +0200 |
---|---|---|
committer | Paul Fariello <paul@fariello.eu> | 2019-06-07 23:43:40 +0200 |
commit | 5731a7c4729f75819b700c1e9b37badcf40a71eb (patch) | |
tree | 1c8f4debd4c05762562feb74ca8c932d4cee762d /src/omemo/store.c | |
parent | 172436a83f5cae500ce73d7cb00d0cfbd4a84c8d (diff) | |
download | profani-tty-5731a7c4729f75819b700c1e9b37badcf40a71eb.tar.gz |
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.
Diffstat (limited to 'src/omemo/store.c')
-rw-r--r-- | src/omemo/store.c | 9 |
1 files changed, 8 insertions, 1 deletions
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 |