Commit graph

1759 commits

Author SHA1 Message Date
Damir Jelić
7d45417a17 base: Add a memory-only store 2021-01-21 16:31:33 +01:00
Damir Jelić
66ecb4c1e6 base: Store room infos for left and invited rooms 2021-01-21 15:12:13 +01:00
Damir Jelić
1483c22171 crypto: Don't send out empty to-device reuqests when sharing sessions
An empty to-device request can happen if we're trying to re-share a
session with devices that are we're missing an olm session with so don't
send them out.
2021-01-21 14:04:31 +01:00
Damir Jelić
ae0d810fb0 base: Avoid the Trait is not general enough issue again 2021-01-21 14:03:41 +01:00
Damir Jelić
948c811d4b client: Simplify the auto key-claiming invocation 2021-01-21 14:03:20 +01:00
Damir Jelić
ef2f20eb97 crypto: Rotate the megolm session if a device gets blacklisted 2021-01-21 12:19:02 +01:00
Damir Jelić
303ac513e5 base: Remove some stale files from the old state store 2021-01-21 12:13:46 +01:00
Damir Jelić
de4df4e50a base: Re-introduce a state store trait. 2021-01-21 12:08:16 +01:00
Damir Jelić
2bcc0afb91 base: Use a CSPRNG to get our randomness and handle randomness errors
Since we're going to encrypt a lot of small objects separately we're
gonna need a lot of random nonces, it doesn't help that our nonces are
24 bytes long either. So use a CSPRNG to random data faster, also don't
panic if there wasn't enough randomness.
2021-01-20 16:59:46 +01:00
Damir Jelić
0a6b0e5804 base: Properly handle crypto related errors in the sled store 2021-01-20 16:27:59 +01:00
Damir Jelić
4a06c9e82d base: Initial support for an encrypted sled store. 2021-01-20 15:57:23 +01:00
Damir Jelić
06a973a1b8 crypto: Don't use the full PBKDF rounds when testing 2021-01-20 14:10:57 +01:00
Damir Jelić
28cc5acc87 base: Add a store key struct 2021-01-20 14:10:57 +01:00
Damir Jelić
2b5ff82414 base: Move the sled store into a subfolder 2021-01-20 10:25:54 +01:00
Damir Jelić
3472c99c27 base: Split out the store module into smaller submodules 2021-01-19 16:48:37 +01:00
Damir Jelić
17f3dbb0a0 crypto: Return a deserialized ToDevice struct when we receive a sync 2021-01-19 12:59:31 +01:00
Damir Jelić
6a30514d40 base: Move the deserialized responses types into the common crate 2021-01-19 12:30:58 +01:00
Damir Jelić
4f4ba831c1 crypto: Bump the PBKDF rounds for the pickle key derivation 2021-01-19 12:05:30 +01:00
Damir Jelić
b8fcc003ea base: Finish up the error handling for the new stores 2021-01-19 12:03:46 +01:00
Damir Jelić
ef95d9b539 crypto: Fix a misleading comment about the outbound session rotation period 2021-01-19 10:21:12 +01:00
Damir Jelić
377b8ea75a crypto: Use consistent ordering for the group session sharing log line 2021-01-19 10:19:15 +01:00
Damir Jelić
4af9b74776 crypto: Properly clamp the rotation period of the outbound session 2021-01-18 20:46:34 +01:00
Damir Jelić
d07063af2b base: Add some error handling to the state store 2021-01-18 18:07:53 +01:00
Damir Jelić
e5ba0298d0 crypto: Refactor and document the share group session method a bit better 2021-01-18 15:21:54 +01:00
Damir Jelić
4eb504d000 crypto: Improve the log line when we share group sessions 2021-01-18 14:15:31 +01:00
Damir Jelić
436530e874 crypto: Fix a couple clippy warnings 2021-01-18 13:50:59 +01:00
Damir Jelić
1746690eda crypto: Add a sled cryptostore 2021-01-18 13:38:00 +01:00
Damir Jelić
629a8ee84f crypto: Add getters for the sender key in our sessions 2021-01-18 13:28:09 +01:00
Damir Jelić
5418c88775 crypto: Add some more serialize/deserialize implementations 2021-01-18 13:21:30 +01:00
Damir Jelić
14575892bd crypto: Implement serialize/deserialize for devices. 2021-01-18 13:19:13 +01:00
Damir Jelić
43a74524c5 crypto: Add a pending requests method for the outbound group session 2021-01-18 12:44:19 +01:00
Amanda Graven
aadbc14dc6 Add accessor for room member avatar urls 2021-01-15 18:59:51 +01:00
Damir Jelić
bab8fde0ac crypto: Change the way we share group sessions
This patch removes the need to ask if a group session needs to be shared
it also adapts the method so it re-shares sessions if new users or
devices join the group.
2021-01-15 18:04:45 +01:00
Damir Jelić
40c53f09ba base: Handle room avatar updates 2021-01-15 09:57:59 +01:00
Damir Jelić
508bf3b23d base: Include the to-device events when returning the sync response 2021-01-14 13:35:21 +01:00
Damir Jelić
43ea9a16a0 crypto: Use the chain method to get the sha hash of the content 2021-01-14 13:34:12 +01:00
Damir Jelić
3f3ae794a4 crypto: Don't log an error for the commitment calculation since it isn't one 2021-01-14 13:32:39 +01:00
Amanda Graven
9efece4f7a Remove unnecessary clones 2021-01-11 14:17:17 +01:00
Damir Jelić
077c20ed74 base: Really fix the holding on across await points issue for room names 2021-01-11 13:40:35 +01:00
Amanda Graven
6c4888a123 Don't hold lock during await in name calculation 2021-01-11 13:18:26 +01:00
Damir Jelić
643526987f Merge branch 'master' into new-state-store 2021-01-05 21:40:39 +01:00
Damir Jelić
b311a31c9e matrix-sdk: Bump our tokio and reqwest versions. 2021-01-05 21:39:52 +01:00
Damir Jelić
b8c6c2e07c rooms: Use unstable member sorting for the room name calculation 2021-01-05 20:26:27 +01:00
Damir Jelić
cdc93ddd0f base: Refactor and fix the room name calculation for non-stripped rooms 2021-01-05 20:09:06 +01:00
Damir Jelić
ccd8a4d602 Merge branch 'master' into new-state-store 2021-01-05 17:03:24 +01:00
Damir Jelić
4f2cad8f62 matrix-sdk: Bump our versions 2021-01-05 11:23:18 +01:00
Damir Jelić
f3acf582ec base: Fix a typo. 2021-01-04 18:34:23 +01:00
Damir Jelić
22b13c369b base: Add a method to check if the room is public. 2021-01-04 18:26:53 +01:00
Damir Jelić
76ce3fecb3 client: Re-enable two additional tests 2021-01-04 18:02:36 +01:00
Damir Jelić
99c1f70c1a Merge branch 'release-0.2' into new-state-store 2021-01-04 17:44:20 +01:00