Commit Graph

2064 Commits (af74988a833a0dc5d840cc3cdd28752db0984dd9)

Author SHA1 Message Date
Damir Jelić 85fde6796a fix(sdk): Remove the custom storage methods from the Client 2021-09-09 11:54:08 +02:00
Damir Jelić db1efcd1fc feat(sdk): Expose the cross signing user identities
This patch adds support to fetch cross signing user identities from the
crypto store, those can now be used to request verifications and inspect
the master keys of users.
2021-09-09 10:40:36 +02:00
Damir Jelić f80e4b3f06 feat(sdk): Add a way to wait for a sync to be done 2021-09-09 10:31:35 +02:00
Damir Jelić 5049e8bfbe docs(sdk): Linkify some verification struct docs 2021-09-09 10:31:35 +02:00
Damir Jelić 6e4a57046e fix(sdk): Use a pure HTTP error for methods that don't touch local state 2021-09-09 10:30:46 +02:00
Damir Jelić afc8597d3b fixup! feat(sdk): Expose the list of tracked users publicly 2021-09-09 10:27:59 +02:00
Damir Jelić 5ff69ad1a9 fix(base): Mark rooms as DMs when we receive an m.direct event 2021-09-09 10:21:05 +02:00
Damir Jelić 05663a42ed feat(sdk): Add a method to check the status of our private cross signing keys 2021-09-09 10:21:05 +02:00
Damir Jelić 7c2b6ede1f feat(crypto): Expose the master pubkey struct publicly 2021-09-09 10:21:05 +02:00
Damir Jelić c6100404e5 feat(sdk): Expose the list of tracked users publicly 2021-09-09 10:20:50 +02:00
Alexander Sieg df65081785 run nightly rustfmt 2021-09-09 10:15:14 +02:00
Damir Jelić 1bcc74738e feat(sdk): Add a method to check if a room contains only verified devices 2021-09-09 10:13:00 +02:00
Damir Jelić 0e9a1b42ec Merge branch 'new-event-handler' 2021-09-09 10:07:02 +02:00
Jonas Platte c3081de611
Add async context to register_event_handler doctest 2021-09-09 00:49:04 +02:00
Jonas Platte 97731d1240
Add a test for register_event_handler 2021-09-08 23:34:05 +02:00
Jonas Platte e2432d476e
Add Client::register_notification_handler
It had been planned but forgotten.
2021-09-08 23:34:05 +02:00
Jonas Platte 6e571c579d
Allow chaining .register_event_handler() 2021-09-08 23:34:05 +02:00
Jonas Platte 8c499a63dc
Add missing `.await`s in event handler doctests 2021-09-08 23:34:01 +02:00
Jonas Platte ce0cb273bb
Use matrix_sdk_common::executor::spawn instead of tokio::spawn 2021-09-08 21:08:23 +02:00
Jonas Platte 971cdf37f6
Fix doctest imports 2021-09-08 20:45:40 +02:00
Jonas Platte 699039f788
Better document event context argument restrictions 2021-09-08 20:40:26 +02:00
Jonas Platte c3e25bda1a
Run event / notification handlers in separate async tasks
Prevents deadlocks when new handlers are registered from within an
existing handler.
2021-09-08 20:32:06 +02:00
Jonas Platte 606a57203e
Add some documentation about how the event handler abstraction works 2021-09-08 20:29:09 +02:00
Jonas Platte 3c38b26770
Rewrap doc comments 2021-09-08 20:19:07 +02:00
Jonas Platte 67912f3768
Fix / improve event handler documentation 2021-09-08 19:23:19 +02:00
Jonas Platte bf8945430f
Fix Copyright header 2021-09-08 19:23:03 +02:00
Jonas Platte cb33f26d5c
Log room retrieval failure in Client::process_sync 2021-09-08 19:22:54 +02:00
Jonas Platte ddea1bdb9e
Rewrap crate feature flag docs 2021-09-08 19:12:58 +02:00
Alexander Sieg 9b90175500 matrix_sdk: add `encryption` to `qrcode` feature 2021-09-08 17:46:26 +02:00
Alexander Sieg 44f6e7a0cf matrix_sdk: remove compile_error for qrcode feature 2021-09-08 17:31:06 +02:00
Alexander Sieg 55692802c0 crypto: feature-gate dependency on matrix_qrcode 2021-09-08 17:23:10 +02:00
Amanda Graven 5be7bb980d
Add custom storage
Add an additional tree to the Store where custom api consumer data may
be stored.
2021-08-25 11:39:43 +02:00
Johannes Becker 33c49c5cd8 appservice: Re-export sdk features 2021-08-17 20:17:17 +02:00
Jonas Platte d348e77468
Remove extraneous space 2021-08-17 00:32:24 +02:00
Jonas Platte a5ff4fbef7
Simplify struct initializations by using Default::default 2021-08-17 00:32:23 +02:00
Jonas Platte cfa69e74f4
Delete unused file 2021-08-17 00:26:02 +02:00
Jonas Platte 36ceb66ba5
Remove prev_content compat hacks
This is now handled by Ruma.
2021-08-17 00:26:01 +02:00
Jonas Platte 2fdad12521
Rewrite event handler abstraction 2021-08-17 00:26:01 +02:00
Damir Jelić 623408913c Merge branch 'secret-sharing' 2021-08-13 20:38:31 +02:00
Damir Jelić 9bae87b0ac crypto: Fix some clippy warnings 2021-08-13 18:28:52 +02:00
Damir Jelić 00e11d33f1 crypto: Fix user-signing signature uploads 2021-08-13 18:28:52 +02:00
Damir Jelić 680f77beb9 crypto: Add the master key to the SAS MAC if we trust it 2021-08-13 18:28:52 +02:00
Damir Jelić 356506060c crypto: Remove private cross signing keys if we detect that they changed 2021-08-13 18:28:52 +02:00
Damir Jelić 4e9fe79619 crypto: Start remembering if an inbound group session has been backed up 2021-08-13 18:28:52 +02:00
Damir Jelić e4a9cf0bba crypto: Disallow re-sharing room keys with devices with changed curve keys 2021-08-13 18:28:52 +02:00
Damir Jelić f9de77a75d crypto: Make sure we request secrets only if the user became trusted 2021-08-13 18:28:52 +02:00
Damir Jelić 315e77ebf2 crypto: Add the users for key claiming to the outgoing requests
This makes sure that we immediately claim one-time keys after we
receive the sync changes instead of waiting for a room message to be
sent by the user.

Users may not send a message in a long time which would mean that we'll
likely never share secrets or forward room keys if a Olm session was
missing with the requester.
2021-08-13 18:28:52 +02:00
Damir Jelić da82fbab4f crypto: Connect the responding to secret request logic 2021-08-13 18:28:52 +02:00
Damir Jelić 4f46212d1a crypto: Add a method to manually verify our own user identity 2021-08-13 18:28:52 +02:00
Damir Jelić d4fe6f5133 crypto: Add methods to manually verify devices and users 2021-08-13 18:28:52 +02:00