Damir Jelić
425a07d670
crypto: Don't load all the devices in the sqlite store.
2020-10-16 16:57:26 +02:00
Damir Jelić
4262f1d3b0
crypto: Don't cache inbound group sessions in the sqlite store.
2020-10-16 15:54:50 +02:00
Damir Jelić
b5560d3cb6
crypto: More transactions in the sqlite store.
2020-10-16 15:23:34 +02:00
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ć
b5c9473424
crypto: Test the session unwedging logic.
2020-10-15 15:03:22 +02:00
Damir Jelić
59d7b53242
crypto: Add an user for a key request if the device was marked as wedged.
2020-10-15 15:02:02 +02:00
Damir Jelić
59a7199202
crypto: Initial test for the session manager.
2020-10-15 13:58:35 +02:00
Damir Jelić
d1313b8614
crypto: Fix another clippy warning.
2020-10-14 16:15:26 +02:00
Damir Jelić
4e8ce4cb5d
crypto: Fix clippy warnings and don't use the PickleMode for signing pickling.
2020-10-14 16:01:52 +02:00
Damir Jelić
c85fe6bc21
crypto: Initial support for private cross signing identities.
2020-10-14 15:35:06 +02:00
Damir Jelić
3338ecf62a
Merge branch 'master' into crypto-improvements
2020-10-13 13:02:02 +02:00
Damir Jelić
1c6a67d864
matrix-sdk: Bump our deps.
2020-10-13 13:01:18 +02:00
Damir Jelić
1cabc0cac9
crypto: Correctly store the uploaded key count when saving the account.
...
This fixes : #101 .
2020-10-13 09:47:49 +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ć
473e49252e
crytpo: Get the session from the list of sessions in a safe manner.
2020-10-08 15:56:17 +02:00
Damir Jelić
d96c9f85a1
crypto: Add doces for the get_missing_sessions method.
2020-10-08 14:50:35 +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ć
da5ef42719
crypto: Log when we invalidate a group session.
2020-10-08 14:03:01 +02:00
Damir Jelić
723fdeaa06
crypto: Fix a clippy warning.
2020-10-08 12:59:10 +02:00
Damir Jelić
19d513e3c0
crypto: Simplify and test the group session invalidation logic.
2020-10-08 12:40:42 +02:00
Damir Jelić
23ac00c8ec
crypto: Initial support for group session invalidation.
2020-10-08 11:16:02 +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ć
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ć
06b9c71dbc
crypto: Refactor out the key share wait queue.
2020-10-07 12:42:39 +02:00
Damir Jelić
6a8ac62a51
crypto: Remove an unwrap.
2020-10-07 11:57:46 +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ć
e3d24f5c31
crypto: Fix some clippy warnings.
2020-10-01 16:45:13 +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ć
fc6ff2c78a
crytpo: Remove an unneeded map/clone.
2020-10-01 12:46:09 +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ć
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