Commit graph

75 commits

Author SHA1 Message Date
Damir Jelić
cb235c47a1 machine: Remove a deadlock when decrypting Olm messages using an existing session. 2020-04-23 11:37:47 +02:00
Damir Jelić
1de791c207 rust-sdk: Update to the latest ruma releases. 2020-04-23 10:52:47 +02:00
Damir Jelić
4369d0b854 crypto: Return a EncryptedEventContent when encrypting using Olm instead of a specific one. 2020-04-22 15:38:42 +02:00
Damir Jelić
b56b720c0c crypto: Return a EncryptedEventContent when encrypting instead of a specific one. 2020-04-22 15:22:43 +02:00
Damir Jelić
27ae8bccb9 crypto: Check the recipient and recipient keys for decrypted events. 2020-04-22 15:15:08 +02:00
Damir Jelić
0eab02a941 crypto: Remove a stale comment. 2020-04-22 13:43:45 +02:00
Damir Jelić
4576e93663 crypto: Add some more debug logs. 2020-04-22 12:54:49 +02:00
Damir Jelić
cb6e43b340 crypto: Allow devices to be deleted from the crypto store. 2020-04-22 12:12:47 +02:00
Damir Jelić
2f7ec887ba crypto: Clean up the imports. 2020-04-21 10:41:08 +02:00
Damir Jelić
7b84f16bd3 crypto: Test key querying. 2020-04-21 09:45:46 +02:00
Damir Jelić
00f4dadbbb crypto: Clean up the key querying logic. 2020-04-21 09:44:44 +02:00
Damir Jelić
a632f2e5a2 crypto: Implement the device store for the sql store. 2020-04-17 14:14:31 +02:00
Damir Jelić
3a5cc833d1 crypto: Simplify the session saving methods in the cyrptostore. 2020-04-16 10:14:23 +02:00
Damir Jelić
25e60d398b crypto: Move the session mutex into the Session struct. 2020-04-14 14:05:18 +02:00
Damir Jelić
8210c2377d crypto: Take the session key out of the RoomKey event. 2020-04-10 17:02:30 +02:00
Damir Jelić
01656690bc crypto: Save the account after an inbound session was created. 2020-04-10 16:18:55 +02:00
Damir Jelić
c282d9fabc machine: Uncomment account saving after keys were published. 2020-04-10 16:17:31 +02:00
Damir Jelić
a4d41378d4 crypto: Move the inbound group session lock into the session struct. 2020-04-10 16:08:47 +02:00
Damir Jelić
b8d6a4c49a crypto: Move the account mutex into the account struct. 2020-04-10 15:28:43 +02:00
Damir Jelić
af7309033c crypto: Rename the session creation method. 2020-04-10 14:44:25 +02:00
Damir Jelić
d04c7e0190 crypto: Add a GroupSessionKey type. 2020-04-10 14:00:03 +02:00
Damir Jelić
b43407b165 crypto: Add a method to check if a group session needs to be shared. 2020-04-10 11:46:31 +02:00
Damir Jelić
0a2b66de9a crytpo: Change the share_group_session method to always create a new session. 2020-04-10 11:45:50 +02:00
Damir Jelić
1504b3a02a crypto: Change the encrypt method to not require to take mut self. 2020-04-10 11:44:09 +02:00
Damir Jelić
1e3f93ca22 crypto: Remove an unused enumerate. 2020-04-10 11:43:03 +02:00
Damir Jelić
c5f7af9118 crypto: Recreate group sessions if they are expired. 2020-04-10 09:58:13 +02:00
Damir Jelić
0215e89ff8 crypto: Use an UUID for the to-device requests for session sharing. 2020-04-10 09:57:10 +02:00
Damir Jelić
dc2983d9a2 crypto: Add initial support to encrypt messages. 2020-04-09 16:24:40 +02:00
Damir Jelić
b4de95185d device: Change to the higher level ruma types for device ids. 2020-04-09 16:22:25 +02:00
Damir Jelić
f19e251de1 crypto: Add some initial code for megolm session sharing. 2020-04-08 15:06:57 +02:00
Devin R
eff322c0c5 crypto compiles, tests pass 2020-04-03 11:00:37 -04:00
Damir Jelić
74f1a21e42 rust-sdk: Updates for the new ruma crate versions. 2020-04-03 14:09:56 +02:00
Damir Jelić
12dc5212e3 rust-sdk: Remove a bunch of unused imports and unused variables. 2020-04-03 12:34:05 +02:00
Damir Jelić
3d0829b2a0 crypto: Add the new devices to the store. 2020-04-03 10:21:14 +02:00
Damir Jelić
6fce9b335a crypto: Add a method to check for missing Olm sessions for users. 2020-04-03 10:20:03 +02:00
Damir Jelić
ff9bcdddb9 crypto: Use a SignedKey type when creating outbound Olm sessions. 2020-04-03 10:16:20 +02:00
Damir Jelić
785db205c3 crypto: Add initial key claiming handling. 2020-04-02 16:07:21 +02:00
Damir Jelić
913cc374d0 crypto: Calculate the deleted devices in a key query. 2020-04-02 14:52:15 +02:00
Damir Jelić
56084a7809 crypto: Initial support for device tracking. 2020-04-02 11:14:23 +02:00
Damir Jelić
2020700673 crypto: Prepare the scaffolding for key queries and user tracking. 2020-04-01 15:37:00 +02:00
Damir Jelić
0d183daa3d crypto: Replace the decrypted to-device events in the sync response. 2020-03-31 13:38:44 +02:00
Damir Jelić
ceeb685e1a crypto: Add the MemoryStore back. 2020-03-30 17:07:36 +02:00
Damir Jelić
85f344c32e crypto: Add the ability to store group sessions to the sqlite store. 2020-03-27 17:01:21 +01:00
Damir Jelić
e4dcca550c crypto: Move the sessions cache into the cryptostore. 2020-03-27 12:09:54 +01:00
Damir Jelić
ddaf630063 crypto: Retire the memory store. 2020-03-26 12:24:53 +01:00
Damir Jelić
485296bc34 async_client: Replace the events with decrypted ones. 2020-03-26 11:23:39 +01:00
Damir Jelić
abe13d7a2d crypto: Make the session stores thread safe. 2020-03-26 11:22:40 +01:00
Damir Jelić
bb3b59ac37 crypto: Add initial support to decrypt megolm encrypted events. 2020-03-25 15:03:10 +01:00
Damir Jelić
ae4d90057a crypto: Wrap inbound group sessions. 2020-03-25 11:32:40 +01:00
Damir Jelić
d4f0799e6c crypto: Create inbound sessions from room key events. 2020-03-24 17:25:01 +01:00