Commit graph

203 commits

Author SHA1 Message Date
Damir Jelić
29bba0b2ca crypto: Allow accepting key request while specifying our supported methods 2021-06-17 11:04:18 +02:00
Damir Jelić
80fac4bfa4 cyrpto: Go into passive mode if someone else replies to a request 2021-06-17 11:04:18 +02:00
Damir Jelić
be53913a16 crypto: Remove the redundant flow id copy 2021-06-17 11:04:18 +02:00
Damir Jelić
df1fe0ebc4 crypto: Don't return a result when receiving a ready event
Ready events might be invalid but we might receive a valid one later on,
e.g. someone is trying to disrupt our verification, so just ignore
invalid ready events.
2021-06-17 11:04:18 +02:00
Damir Jelić
073b91fa62 crypto: Ignore verification requests that are sent by us 2021-06-17 11:04:18 +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ć
b14d754aed crypto: Turn the content_to_request function into a constructor
Closes: #260
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ć
533a5b92b0 crypto: Ignore key verification requests that have an invalid timestamp 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
Damir Jelić
6f11244017 Merge branch 'typos' 2021-06-06 21:01:30 +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
Jonathan de Jong
74a6d39b9f various typos 2021-06-05 14:35:20 +02:00
Damir Jelić
0df782e93e crypto: Fix some clippy warnings 2021-06-04 19:26:32 +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ć
612fa46359 crypto: Replace a bunch of From implementations with macros 2021-06-04 18:13:52 +02:00
Damir Jelić
0a7fb2cbc3 crytpo: Mark verification requests as cancelled and as done 2021-06-04 18:13:52 +02:00
Damir Jelić
f9fb530480 crypto: Forward cancel events to the sas object 2021-06-04 18:13:52 +02:00
Damir Jelić
2ec8893273 crypto: Silence a clippy warning until we add QR code verifications 2021-06-04 15:39:56 +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ć
a04afac963 crypto: Fix a clippy warning 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ć
cbcf673d21 crypto: Make sure we send verification done events 2021-06-04 15:16:38 +02:00
Damir Jelić
9b20b00908 crypto: Log if we get a missmatch of the flow id 2021-06-04 15:16:38 +02:00
Damir Jelić
f50d0cd3a6 crypto: Test starting a to-device verification request 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ć
b52f3fb11f crypto: Remove an allocation when calculating the SAS MAC 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ć
8a5a0e511e crypto: Don't await while holding a sync lock 2021-06-04 15:16:38 +02:00
Damir Jelić
12619ab8b3 crypto: Log a warning if we get a start event without being ready 2021-06-04 15:16:38 +02:00
Damir Jelić
069ef3a661 crypto: Move the SAS starting logic into the verification request struct 2021-06-04 15:16:38 +02:00
Damir Jelić
999f0899f8 crypto: Move the outgoing requests to the VerificationCache 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ć
d928f39f68 crypto: Add a VerificationCache struct 2021-05-24 16:41:27 +02:00
Damir Jelić
98c259dc1e crypto: Refactor the VerificationReqest struct a bit 2021-05-24 16:41:27 +02:00
Damir Jelić
110b8eb8dd Merge branch 'master' into sas-longer-flow 2021-05-18 09:07:50 +02:00
Jonas Platte
cd77441d1b
Upgrade ruma to 0.1.0 (crates.io release) 2021-05-17 02:57:36 +02:00
Jonas Platte
15540e84e3
Upgrade ruma 2021-05-15 17:22:32 +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