Commit graph

61 commits

Author SHA1 Message Date
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
Damir Jelić
765108a10c machine: Better room key parsing. 2020-03-24 16:21:06 +01:00
Damir Jelić
4759dea9bd crypto: Decrypt to-device events. 2020-03-23 16:14:10 +01:00
Damir Jelić
4215f98e91 crypto: Add initial code for olm message decryption. 2020-03-21 16:41:48 +01:00
Damir Jelić
1b8b3da733 rust-sdk: Add initial tracing/logging setup. 2020-03-19 13:55:04 +01:00
Damir Jelić
5adab040e6 crypto: Restore the account if we're using the sqlite store. 2020-03-18 16:05:59 +01:00
Damir Jelić
4aba058695 crypto: Hook up the crypto store to the Olm machine. 2020-03-18 15:50:32 +01:00
Damir Jelić
7b70cb7e41 rust-sdk: Rework our error handling. 2020-03-18 14:15:56 +01:00
Damir Jelić
bd53e18aa9 Cargo.toml: Use the tokio async test macro. 2020-03-16 13:24:54 +01:00
Damir Jelić
fb6c6c89e8 crypto: Update to the ruma-event renames. 2020-03-13 16:58:59 +01:00
Damir Jelić
545ebe8d9c crytpo: Get the one-time keys count out of the sync response as well. 2020-03-12 16:14:43 +01:00
Damir Jelić
8867b198f7 base_client: Forward the sync response to our olm machine. 2020-03-12 15:41:11 +01:00
Damir Jelić
e7b32ea155 crypto: Fix the one-time-key count updating. 2020-03-11 10:09:00 +01:00
Damir Jelić
f15b7cccea crypto: Require a borrow of the user id when creating a new Olm machine. 2020-03-11 10:05:37 +01:00
Damir Jelić
740bc2a6c1 machine: Add a method to get the key tuple that need to be uploaded. 2020-03-10 14:06:30 +01:00