Commit graph

1969 commits

Author SHA1 Message Date
Damir Jelić
9c98d0227b matrix-sdk: Make the http client trait WASM compatible 2021-01-22 18:12:46 +01:00
Damir Jelić
8028c23f56 base: Feature flag the sled state store 2021-01-22 18:10:17 +01:00
Damir Jelić
cb12bc1584 base: Use Instant instead of SystemTime for wasm compatibility 2021-01-22 18:07:34 +01:00
Damir Jelić
b83399ba14 base: Fix a typo take two 2021-01-22 16:07:24 +01:00
Damir Jelić
5daa22250f base: Fix a typo 2021-01-22 15:45:14 +01:00
Damir Jelić
c034de470b base: Allow using the same sled database for the state and cryptostore 2021-01-22 11:33:06 +01:00
Damir Jelić
9cd217fc5d matrix-sdk: Remove the proxy usage from the exmaples for now
While it's generally useful to watch what the sdk is sending
out during development using mitmproxy, users of the sdk might
wonder why the example doesn't connect.

Remove the proxy usage until we add a cli parser which can enable proxy
support with a command line switch.
2021-01-22 11:32:33 +01:00
Damir Jelić
cf07fc8e8e Merge branch 'master' into new-state-store 2021-01-21 19:58:40 +01:00
Tilo Spannagel
7b8d2b5319 Add support for ruma feature flag markdown
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2021-01-21 18:22:17 +01:00
Tilo Spannagel
abd62cab0d Update ruma to rev 8c109d3c0a7ec66b352dc82677d30db7cb0723eb
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2021-01-21 18:22:08 +01:00
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