Commit graph

90 commits

Author SHA1 Message Date
Damir Jelić
53a2b8eb7c crypto: Implement a better debug trait for sessions. 2020-04-15 13:46:43 +02:00
Damir Jelić
33a1b8b791 crypto: Add more test for the Olm wrappers. 2020-04-15 12:44:00 +02:00
Damir Jelić
25e60d398b crypto: Move the session mutex into the Session struct. 2020-04-14 14:05:18 +02:00
Damir Jelić
cb8f1c1a5b crypto: Zeroize the GroupSessionKey struct. 2020-04-10 17:02:51 +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ć
7577ddfc00 crypto: Remove one-time keys after a inbound session was created successfully. 2020-04-10 16:18:29 +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ć
7c20c79f32 crypto: Add test for the session creation. 2020-04-10 14:44:50 +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ć
9d52037b40 crypto: Add docs to our olm-rs wrappers. 2020-04-10 13:47:38 +02:00
Damir Jelić
c215dfa55d crypto: Don't manually implement Send, those are now in olm-rs. 2020-04-10 11:59:51 +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ć
a5f43db859 crypto: Add some more methods to the group session wrapper. 2020-04-09 16:23:24 +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
Damir Jelić
816295cd48 crytpo: Add a wrapper for outbound megolm sessions. 2020-04-08 15:05: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ć
7c6d0d14dd crypto: Fix the sqlite tests. 2020-04-03 10:39:07 +02:00
Damir Jelić
2dd84517b9 crypto: Expose the key-claiming methods in the clients. 2020-04-03 10:27:30 +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ć
8d487ac097 crypto: Allow the device store to be cloned. 2020-04-02 17:27:39 +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ć
559a5847bb crypto: Implement group session loading for the sqlite store. 2020-03-31 16:22:45 +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ć
23065a5aa3 crypto: Use an upsert for the account saving. 2020-03-27 16:01:00 +01:00
Damir Jelić
c3654bd03f crypto: More cleanup in the sqlite store. 2020-03-27 14:35:51 +01:00
Damir Jelić
e4dcca550c crypto: Move the sessions cache into the cryptostore. 2020-03-27 12:09:54 +01:00
Damir Jelić
fca8062da0 crytpo: Implement session storing/loading for the sql store. 2020-03-27 09:24:15 +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