Commit Graph

78 Commits (4bcbcb146e5733c6fce72d5a7f90a96509bc0bc5)

Author SHA1 Message Date
Alexander Sieg 82a99b5267 address code review issues 2021-09-10 16:26:21 +02:00
Alexander Sieg df65081785 run nightly rustfmt 2021-09-09 10:15:14 +02:00
Alexander Sieg 55692802c0 crypto: feature-gate dependency on matrix_qrcode 2021-09-08 17:23:10 +02:00
Damir Jelić 9bae87b0ac crypto: Fix some clippy warnings 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ć 7d851a10b5 crypto: Collect common verification stuff into a VerificationStore 2021-08-13 18:28:52 +02:00
Damir Jelić 5f1e972b3d crypto: Properly mark verification requests as done 2021-08-13 18:28:52 +02:00
stoically 0bd438e617 Fix clippy warnings 2021-08-05 22:48:05 +02:00
Damir Jelić 26310def0a crypto: Silence a couple of clippy warnings 2021-07-19 10:49:22 +02:00
Damir Jelić 0053d2a874 crypto: Don't send cancellations for passive verification requests 2021-07-19 09:48:22 +02:00
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ć ff8089912e crypto: Only send cancellations to other devices if we're the requester 2021-07-19 09:36:21 +02:00
Damir Jelić 909cd42ac1 crypto: Cancel the verification request for to-device Sas verifications 2021-07-19 09:32:48 +02:00
Damir Jelić ead91a1e6b crypto: Send cancellations if the other device picks up over to-device 2021-07-12 18:12:02 +02:00
Damir Jelić 71c89c2670 crypto: Time out verification requests as well 2021-07-09 17:01:35 +02:00
Damir Jelić 7644ceea8a crypto: Make sure we don't deadlock when we cancel the verification request 2021-07-09 14:31:54 +02:00
Damir Jelić b0e8f12426 crypto: Cancel the verification request if the child flow gets cancelled 2021-07-09 13:53:47 +02:00
Damir Jelić 4e5cc03673 crypto: Only go into a done verification request if we're in the correct state 2021-07-09 11:50:12 +02:00
Damir Jelić 76d57baa11 crypto: Add the verification to the cache after we scan a QR code 2021-07-09 11:49:46 +02:00
Damir Jelić c5df7c5356 crypto: Add methods to request verification from users 2021-07-08 12:30:30 +02:00
Damir Jelić db0843a47a crypto: Don't panic if we don't have the keys to generate a QR code 2021-07-01 10:27:45 +02:00
Damir Jelić 63659c9604 crypto: Fix verification requests getting cancelled 2021-06-29 12:56:28 +02:00
Damir Jelić 100a936f1b crypto: Add a method to check if the scanning has been confirmed 2021-06-29 12:56:28 +02:00
Damir Jelić 80a30bcdd6 crypto: Add all the common accessors to the qr code verification 2021-06-29 12:56:28 +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
Damir Jelić d4e80883dc crypto: Propagate the we_started info to the SAS verification 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ć baee5b2d11 crytpo: Couple more accessors for the verification request 2021-06-17 11:04:18 +02:00
Damir Jelić d212e7df18 crypto: Add some more accessors to the verification requests 2021-06-17 11:04:18 +02:00
Damir Jelić f8b09d4537 crypto: Remember who started the verification request 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ć 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ć ada71586ac crypto: Scope the verifications per sender 2021-06-17 11:04:17 +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ć 0a7fb2cbc3 crytpo: Mark verification requests as cancelled and as done 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