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