Damir Jelić
fc54c63a4c
crypto: Upgrade sqlx to the beta release.
...
This change is much needed to enable transactions in our sqlite store,
before this release creating a transaction would take ownership of the
connection, now it just mutably borrows it.
2020-10-16 15:05:53 +02:00
Damir Jelić
e7a24d5e68
crypto: Move the session managers under a common module.
2020-10-16 11:09:55 +02:00
Damir Jelić
bd0ac703a0
crypto: Initial logic for session unwedging.
2020-10-09 15:39:35 +02:00
Damir Jelić
6d2e9cfc02
crypto: Share the users_for_key_claim map between modules.
2020-10-09 11:36:31 +02:00
Damir Jelić
279ce0bba0
crypto: Split out the Olm session handling logic into a separate module.
2020-10-08 14:41:34 +02:00
Damir Jelić
23ac00c8ec
crypto: Initial support for group session invalidation.
2020-10-08 11:16:02 +02:00
Damir Jelić
17d23eb9e5
matrix-sdk: Add automatic key claiming support.
2020-10-07 14:07:47 +02:00
Damir Jelić
8ea0035cd0
crypto: Add the automatic key claim users to the key claim request.
2020-10-07 14:02:50 +02:00
Damir Jelić
6a8ac62a51
crypto: Remove an unwrap.
2020-10-07 11:57:46 +02:00
Damir Jelić
e5f0f64405
crypto: Initial scaffolding for key shares for devices that are missing a session.
2020-10-06 16:38:42 +02:00
Damir Jelić
02c765f903
crypto: Don't mark outbound group sessions automatically as shared.
2020-10-01 16:31:24 +02:00
Damir Jelić
1d8f01ef11
crypto: Remove the third Device variant.
2020-10-01 12:15:13 +02:00
Damir Jelić
c8ca93c924
crytpo: Let the verification machine hold on to a raw CryptoStore.
...
This will later be useful when our higher level store wrapper holds on
to a verification machine to return higher level Device objects.
2020-10-01 11:17:27 +02:00
Damir Jelić
d644af7be9
crypto: Remove an unneeded clone.
2020-10-01 09:56:22 +02:00
Damir Jelić
ff2079da91
crypto: Move the group session handling logic into separate module.
2020-09-30 15:43:25 +02:00
Damir Jelić
646f18ae18
crypto: Remove an unused import.
2020-09-29 17:53:11 +02:00
Damir Jelić
2b8d4a21a4
crypto: Connect the key request handling to the main state machine.
2020-09-29 17:40:06 +02:00
Damir Jelić
8fe1eda169
crypto: Test the full key share flow.
2020-09-29 14:18:03 +02:00
Damir Jelić
84066d4a76
crypto: Split out the Account into a read only portion and one with effects.
2020-09-29 12:03:41 +02:00
Damir Jelić
798656dac5
crypto: Allow the key request machine to access the outbound group sessions.
2020-09-29 10:09:47 +02:00
Damir Jelić
a357536ade
crypto: Initial scaffolding for incoming key share handling.
2020-09-28 09:27:16 +02:00
Damir Jelić
c5bece2d58
crypto: Zeroize and remove the session key copies for forwarded room keys.
2020-09-24 11:18:01 +02:00
Damir Jelić
4662ca2e32
crypto: Refactor the one-time key count update logic.
2020-09-24 11:16:15 +02:00
Damir Jelić
95e906e0dc
crypto: Save the account if the one-time key count updates.
2020-09-18 20:50:32 +02:00
Damir Jelić
2e3d30d7b4
crypto: Move the identity/device management logic into a separate struct.
2020-09-18 20:50:32 +02:00
Damir Jelić
5b0457dad0
crypto: Remember the users that received the outbound group session.
2020-09-18 18:55:17 +02:00
Damir Jelić
dea3e4adf4
crypto: Document when a key export may panic.
2020-09-18 14:04:39 +02:00
Damir Jelić
5d5d5bb141
crypto: Hook up the key requesting to the main state machine.
2020-09-18 13:50:13 +02:00
Damir Jelić
24ce4881c7
crypto: Add a method to save/load arbitrary objects from a CryptoStore.
...
This actually adds trait methods that save/load strings from the
CryptoStore. We add a wrapper for the CryptoStore since we can't mix
trait objects and generics, so we add generic methods to save/load
anything that implements Serialize/Deserialize.
2020-09-16 16:03:19 +02:00
Damir Jelić
3573614640
crypto: Add some TODOs for the key query handling.
2020-09-15 12:13:35 +02:00
Jonas Platte
fb47abcc17
Update ruma
2020-09-14 20:26:52 +02:00
Damir Jelić
7790c3db8f
crypto: Fix a bunch of clippy warnings.
2020-09-10 16:07:28 +02:00
Damir Jelić
e3f4c1849c
crypto: Finish up the key export feature.
2020-09-10 15:54:41 +02:00
Damir Jelić
127d4c225b
crypto: Change the crypto store so we can save multiple group sessions at once.
2020-09-09 16:34:18 +02:00
Damir Jelić
89efcee337
crypto: Move the signature verification method under an Utility struct.
2020-09-04 13:18:31 +02:00
Damir Jelić
22daf0d81e
Merge branch 'to-device-txn-uuid' into crypto-improvements
2020-09-04 12:54:40 +02:00
Damir Jelić
53fec7a87e
crypto: Don't ignore store errors when fetching the identities.
2020-09-04 12:44:03 +02:00
Damir Jelić
adf8905d9f
crypto: Rename the memory stores into caches and reorder the store module.
2020-09-04 12:42:40 +02:00
Damir Jelić
7b3dfe2f27
crypto: Move the device and user identities under one module.
2020-09-04 10:51:46 +02:00
Jonas Platte
73c104cac1
Replace IncomingToDeviceRequest with customized request type
2020-09-03 20:02:55 +02:00
Damir Jelić
39628a308b
matrix-sdk: Allow any event content to be sent out with room_send().
2020-08-26 15:41:27 +02:00
Damir Jelić
95c8708995
crypto: Document and rename the mark_requests_as_sent() method.
2020-08-24 14:49:57 +02:00
Devin Ragotzy
72614e4252
matrix_sdk_crypto: Appease clippy
2020-08-22 08:00:32 -04:00
Damir Jelić
de90da4adc
crypto: Make the verification machine compatible with how we queue up requests.
2020-08-21 16:26:34 +02:00
Damir Jelić
e38bfc64f4
crypto: Streamline the key claiming so we use the new mark request as sent method.
2020-08-21 14:40:49 +02:00
Damir Jelić
93e1967119
crypto: Initial refactor to switch to the outgoing_requests queue.
2020-08-21 13:35:01 +02:00
Damir Jelić
ce93869915
crypto: Return an Option instead of an empty result for the key uploads.
2020-08-21 09:50:01 +02:00
Damir Jelić
c307690c2e
crypto: Fix a clippy warning and some spelling.
2020-08-20 16:06:06 +02:00
Damir Jelić
c2ad298963
crypto: Check that the user ids match for the cross signing keys.
2020-08-20 15:40:49 +02:00
Damir Jelić
b97e3d7bae
crypto: Fix a clippy warning.
2020-08-20 10:49:14 +02:00