Commit Graph

685 Commits (5d38bc3802c420a87fbca8e8f3b4479fd90f9ec7)

Author SHA1 Message Date
Damir Jelić 5d38bc3802 crypto: Scope the verification requests behind the other user id 2021-06-17 11:04:18 +02:00
Damir Jelić 58d3b42a60 crypto: Don't allow QR code generation if we or the other can't handle it 2021-06-17 11:04:18 +02:00
Damir Jelić b7986a5153 crypto: Add a couple more accessors for the verification request 2021-06-17 11:04:18 +02:00
Damir Jelić c547f384bc crypto: Fix the method to transition from a request into a SAS verification 2021-06-17 11:04:18 +02:00
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
Jonas Platte e18f248dbb
crypto: Add missing required-features to crypto_bench 2021-06-07 15:16:53 +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
Jonas Platte eed2b37885
Replace Arc<Box<DeviceId>> by Arc<DeviceId> 2021-06-06 18:15:18 +02:00
Jonathan de Jong f76cb1d123 the the 2021-06-05 14:55:01 +02:00
Jonathan de Jong f36fb55727 some more typos 2021-06-05 14:50:08 +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ć 7cca358399 Merge branch 'master' into verification-improvements 2021-06-04 18:37:42 +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