Commit graph

1481 commits

Author SHA1 Message Date
Damir Jelić
55430dd3d2 base: Us and_then() instead of map() + flatten() 2021-01-26 19:28:17 +01:00
Damir Jelić
b3cfa48b45 base: Allow inspecting dispaly name owners in the sate inspector 2021-01-26 14:44:37 +01:00
Damir Jelić
71a087c379 crypto: Encode our keys in the sled cryptostore as well 2021-01-26 14:22:03 +01:00
Damir Jelić
fc085a7391 base: Use encoded keys for the whole sled store 2021-01-26 14:04:37 +01:00
Damir Jelić
b4a916b797 base: Add a method to get all the user ids that use a certain display name 2021-01-26 13:22:06 +01:00
Damir Jelić
6cb2c8b468 crypto: Store and restore outbound group sessions 2021-01-25 17:14:13 +01:00
Damir Jelić
ac6dad3f35 matrix-sdk: Bump our deps 2021-01-25 15:47:51 +01:00
Damir Jelić
c1f9d3bc39 crypto: Add a bench for our key query response handling 2021-01-25 10:13:08 +01:00
Damir Jelić
eb8138ca6a base: Restore stripped room infos as well 2021-01-23 17:29:43 +01:00
Damir Jelić
44974982e1 client: Add an accessor method for the device id 2021-01-23 15:59:53 +01:00
Damir Jelić
077050efb4 crypto: Add a hack so e2ee support works under WASM again 2021-01-22 18:40:08 +01:00
Damir Jelić
d10b85a05d matrix-sdk: Fix our wasm command bot example 2021-01-22 18:14:08 +01:00
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