Damir Jelić
55a9e6836d
crypto: Introduce a CancelInfo struct
...
This replaces the separate methods to fetch info about the cancellation.
It was a bit annoying to gather all the different info where each method
can return None.
2021-07-19 09:45:47 +02:00
Damir Jelić
71c89c2670
crypto: Time out verification requests as well
2021-07-09 17:01:35 +02:00
Damir Jelić
c5df7c5356
crypto: Add methods to request verification from users
2021-07-08 12:30:30 +02:00
Damir Jelić
af084528c8
crypto: Remember who cancelled the verification
...
This seems to be of limited use considering that people can just see the
sender of the cancellation event or they perform the cancellation
themselves using the cancel() method but EA seems to want this.
2021-06-29 12:56:28 +02:00
Jonas Platte
43e213fd67
matrix-sdk: Update ruma
...
Co-authored-by: Damir Jelić <poljar@termina.org.uk>
2021-06-21 15:45:33 +02:00
Damir Jelić
cc0388929a
crypto: Add some more accessors for the fields in the verification types
2021-06-17 11:04:17 +02:00
Damir Jelić
00c3921d2a
crypto: Add initial support for QR code verification
2021-06-17 11:04:17 +02:00
Damir Jelić
71aba433da
crypto: Add some more accessors to the sas structs
2021-06-17 11:04:17 +02:00
Damir Jelić
7f364fd615
crypto: Allow only a identity to be verified when the verification finishes
...
QR code based verification doesn't verify a device when users are
verifying each other, generalize the logic that marks stuff as verified
so we can verify either only a device or an user identity or both.
2021-06-17 11:04:17 +02:00
Damir Jelić
ada71586ac
crypto: Scope the verifications per sender
2021-06-17 11:04:17 +02:00
Damir Jelić
5fa2b05622
matrix-sdk: Fix some more typos
2021-06-08 11:13:23 +02:00
Jonas Platte
74d0ac7c77
crypto: Depend on ruma directly
...
… instead of using matrix_sdk_common's re-exports
2021-06-07 18:55:56 +02:00
Jonas Platte
3bac536daf
Fix clippy lints
...
Automated via `cargo clippy --workspace --all-targets -Zunstable-options --fix`.
2021-06-07 15:51:18 +02:00
Jonas Platte
6b685b671d
Replace Arc<Box<dyn (Crypto|State)Store>> by Arc<dyn (Crypto|State)Store>
2021-06-06 18:16:25 +02:00
Damir Jelić
96d4566111
crypto: Move the verification cache into a separate module
2021-06-04 18:13:52 +02:00
Damir Jelić
31e00eb434
crypto: Don't panic if we get a unknown cancel code
2021-06-04 18:13:52 +02:00
Damir Jelić
bd5dda370d
crypto: Remove the sas event enums module
2021-06-04 15:16:38 +02:00
Damir Jelić
ac04b0c36e
crypto: Create a enum for the verification types
2021-06-04 15:16:38 +02:00
Damir Jelić
cf98681f19
crypto: Remove some duplicate code
2021-06-04 15:16:38 +02:00
Damir Jelić
1e48b15040
crypto: Add enums so we can handle in-room and to-device verifications the same
2021-06-04 15:16:38 +02:00
Damir Jelić
d877c1cf8c
crypto: Move the Done state into the common verification module
2021-06-04 15:16:38 +02:00
Damir Jelić
327445c6a0
crypto: Move the logic for marking identities as verified out of the Sas struct
2021-06-04 15:16:38 +02:00
Damir Jelić
681f32b0a7
crypto: Fix a couple of typos
2021-06-04 15:16:38 +02:00
Damir Jelić
0e514b755f
crypto: Move the CancelContent generation out of the sas module
2021-06-04 15:16:38 +02:00
Damir Jelić
300189bb37
crypto: Use the verification cache in verification requests
2021-05-24 16:41:27 +02:00
Damir Jelić
3f57a2a9f2
Merge branch 'master' into sas-longer-flow
2021-05-13 11:26:40 +02:00
Damir Jelić
09a7858702
crypto: Initial support for the longer to-device verification flow
2021-05-13 11:15:56 +02:00
Devin Ragotzy
2ef0c2959c
Add use_small_heuristics option and run fmt
2021-05-12 15:37:29 -04:00
Devin Ragotzy
c85f4d4f0c
Add rustfmt config file and run over workspace
2021-05-12 15:36:52 -04:00
Jan Veen
e9be23f853
crypto: Add settings to customize SAS accepting
...
Offer specifying settings to SAS accept() requests to limit the allowed
verification methods.
2021-03-11 21:10:26 +01:00
Damir Jelić
897c6abe92
crypto: Fix our tests now that we support in-room verifications.
2020-12-18 12:55:06 +01:00
Damir Jelić
7198b0daba
crypto: WIP key verification request handling.
2020-12-09 17:18:23 +01:00
Damir Jelić
5c530cf9ee
crypto: Upload signatures after verification is done.
2020-10-27 16:39:23 +01:00
Jonas Platte
73c104cac1
Replace IncomingToDeviceRequest with customized request type
2020-09-03 20:02:55 +02:00
Damir Jelić
de90da4adc
crypto: Make the verification machine compatible with how we queue up requests.
2020-08-21 16:26:34 +02:00
Damir Jelić
5b758b8344
crypto: Don't allow dead code in the SAS layer anymore.
2020-08-14 11:09:50 +02:00
Damir Jelić
df0444faa5
crypto: Test the full SAS flow from the Olm machine.
2020-08-13 16:46:11 +02:00
Damir Jelić
c4ed5b6cda
matrix-sdk: Upgrade our deps.
2020-08-11 16:54:58 +02:00
Jonas Platte
d83fc971ce
Update ruma
2020-08-10 13:58:39 +02:00
Damir Jelić
7ecd4a035f
crypto: Split out the Sas logic into different files.
2020-07-31 14:54:08 +02:00
Damir Jelić
a58ace70a7
crypto: Fix the SAS MAC calculation KEYIDS -> KEY_IDS.
2020-07-30 15:45:19 +02:00
Damir Jelić
117ebeaf4b
crypto: Return requests when you want to accept a verification.
2020-07-29 12:47:36 +02:00
Damir Jelić
a6fa9f99fd
crypto: Hook up the verification machine.
2020-07-28 15:37:20 +02:00
Damir Jelić
57b65ec8c4
crypto: Add a verification machine.
2020-07-28 14:45:53 +02:00
Damir Jelić
2d6fff7927
crypto: A bit of cleanup and docs.
2020-07-28 11:29:13 +02:00
Damir Jelić
670755bfce
crypto: Start checking and cancelling our SAS flows.
2020-07-24 17:51:20 +02:00
Damir Jelić
9ac1417292
crypto: Add a higher level simple and threadsafe SAS object.
2020-07-24 15:49:00 +02:00
Damir Jelić
8ff8ea1342
crypto: Add docs for the SAS structs and methods.
2020-07-23 17:25:57 +02:00
Damir Jelić
a1edef0ed5
crypto: Fix some clippy warnings.
2020-07-23 14:47:47 +02:00
Damir Jelić
2729f01e0f
crypto: Move the emoji/decimal sas calculation out of the Sas object.
2020-07-23 14:26:50 +02:00