Commit Graph

31 Commits (6d2e9cfc02411130192eed7e5993f95a7ca9ba65)

Author SHA1 Message Date
Damir Jelić 6d2e9cfc02 crypto: Share the users_for_key_claim map between modules. 2020-10-09 11:36:31 +02:00
Damir Jelić 4019ebf121 crypto: Fix some clippy warnings. 2020-10-07 17:56:29 +02:00
Damir Jelić 9a838abd67 crypto: Log when we're not serving a key request because of a missing session. 2020-10-07 14:22:13 +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ć 06b9c71dbc crypto: Refactor out the key share wait queue. 2020-10-07 12:42:39 +02:00
Damir Jelić 1e894269c8 crypto: Correctly handle the key share without a session and test it. 2020-10-07 11:57:09 +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ć ff2079da91 crypto: Move the group session handling logic into separate module. 2020-09-30 15:43:25 +02:00
Damir Jelić 78badd9af8 crypto: Use the correct event type when sending out forwarded room keys. 2020-09-29 17:36:56 +02:00
Damir Jelić 58aef51770 crypto: Remove an unneeded mutable borrow. 2020-09-29 14:44:18 +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ć e1c220e2f7 crypto: Test a key share cycle. 2020-09-29 10:24:54 +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ć 721c459577 crypto: Collapse an if tree. 2020-09-28 15:07:57 +02:00
Damir Jelić 23173c4a1e crypto: Test our key sharing decision logic. 2020-09-28 14:51:57 +02:00
Damir Jelić 4a8c5ebab0 crypto: Return an enum that describes why we won't serve a key share request. 2020-09-28 14:12:08 +02:00
Damir Jelić e29508938b crypto: More work on the incoming key request handling. 2020-09-28 13:32:30 +02:00
Damir Jelić a357536ade crypto: Initial scaffolding for incoming key share handling. 2020-09-28 09:27:16 +02:00
Damir Jelić 42c4cf2a30 crypto: Test the outgoing requests method instead of accessing the field. 2020-09-24 12:00:22 +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ć 5b0457dad0 crypto: Remember the users that received the outbound group session. 2020-09-18 18:55:17 +02:00
Damir Jelić 562bb5aee3 crypto: Remove some dead key requests code for now. 2020-09-18 17:26:56 +02:00
Damir Jelić c58cf71be1 crypto: Send out key request cancellations once we receive a key. 2020-09-18 13:49:46 +02:00
Damir Jelić 300b03bd9e crypto: Add more test for the outgoing key requests. 2020-09-17 17:13:42 +02:00
Damir Jelić a5b195efc7 crypto: Initial tests for the key requests state machine. 2020-09-17 16:55:33 +02:00
Damir Jelić 692f9baa0e crypto: Add logic to handle outgoing key requests. 2020-09-17 16:09:08 +02:00
Damir Jelić 6b24d91ed9 crypto: Add an initial version of our key request state machine. 2020-09-17 14:16:43 +02:00