Commit graph

251 commits

Author SHA1 Message Date
Damir Jelić
0245782cf4 crypto: Better grammar for a panic message. 2020-08-13 15:59:17 +02:00
Damir Jelić
87d0102663 crypto: Test the Olm machine with the default store. 2020-08-13 15:57:31 +02:00
Damir Jelić
6ee8b07cfe crypto: Test that session expiration works correctly. 2020-08-13 15:03:28 +02:00
Damir Jelić
344631b4ee crypto: Respect the encryption settings of a room when creating sessions. 2020-08-13 14:41:59 +02:00
Damir Jelić
9b8e11aab9 crypto: Fix the docs for our features. 2020-08-13 11:06:26 +02:00
Damir Jelić
a0abffd026 crypto: Fix the link to the share group session method. 2020-08-13 11:04:37 +02:00
Damir Jelić
36ca784690 crypto: Expose a method to get all devices of an user. 2020-08-12 17:16:27 +02:00
Damir Jelić
18e597aa79 crypto: More doc fixes. 2020-08-12 15:14:16 +02:00
Damir Jelić
407f9a3da8 matrix-sdk: Make sure to not send out multiple group share requests at once. 2020-08-12 15:12:51 +02:00
Damir Jelić
82c3a795ff crypto: More doc improvements. 2020-08-12 13:28:16 +02:00
Damir Jelić
ccda5c7260 crypto: Small doc improvements to the OlmMachine. 2020-08-12 13:11:51 +02:00
Damir Jelić
d706140a8f crypto: Fix a SAS docstring. 2020-08-12 12:49:29 +02:00
Damir Jelić
8351858be7 crypto: Expose a method to get a users device. 2020-08-12 12:48:22 +02:00
Damir Jelić
7cb25361b2 matrix-sdk: Expose an API to start SAS verifications. 2020-08-12 11:39:47 +02:00
Damir Jelić
c4ed5b6cda matrix-sdk: Upgrade our deps. 2020-08-11 16:54:58 +02:00
Damir Jelić
0d2f8c6d0f crypto: Fix some clippy warnings. 2020-08-11 16:01:48 +02:00
Damir Jelić
fa1a40543c crypto: Add a missing license header to the sas helpers file. 2020-08-11 15:55:13 +02:00
Damir Jelić
7637e79f2c matrix-sdk: Fix the tarpaulin skip directives. 2020-08-11 15:49:04 +02:00
Damir Jelić
d0a5b86ff3 crypto: Remove our lock around the cryptostore. 2020-08-11 15:39:50 +02:00
Damir Jelić
707b4c1185 crypto: Put a bunch of crypto store stuff behind atomic references. 2020-08-11 15:17:33 +02:00
Damir Jelić
2437a92998 crypto: Don't require the account loading method to borrow self mutably. 2020-08-11 15:12:15 +02:00
Damir Jelić
947fa08dae crypto: Don't require the load_account to mutably borrow self. 2020-08-11 15:08:07 +02:00
Damir Jelić
8f4ac3da7f crypto: Change the way we load the devices/sessions in the SqliteStore. 2020-08-11 14:43:18 +02:00
Damir Jelić
01bcbaf063 crypto: Remove most mutable self borrows from the crypto-store trait. 2020-08-11 14:34:42 +02:00
Damir Jelić
ac2469d270 crypto: Change the way we check if an user is already tracked. 2020-08-11 13:45:32 +02:00
Damir Jelić
db553b2040 crypto: Fix some clippy warnings. 2020-08-11 13:38:20 +02:00
Damir Jelić
eeb6a811c0 crypto: Make the in-memory stores threadsafe and cloneable. 2020-08-11 13:18:58 +02:00
Damir Jelić
528483ef0e crypto: Remove the last mutable self borrows in the Olm machine methods. 2020-08-11 12:22:14 +02:00
Damir Jelić
72168ce084 crypto: Fix the unknown method tests fot the SAS state transitions. 2020-08-11 11:51:34 +02:00
Damir Jelić
6c85d3e28f crypto: Use TryFrom to check the accepted SAS protocols. 2020-08-11 11:24:29 +02:00
Damir Jelić
d5a853f3da crypto: More SAS tests for all the unknown SAS methods. 2020-08-11 11:05:22 +02:00
Damir Jelić
c15ffb989a crypto: Remove an unused import. 2020-08-11 09:48:01 +02:00
Damir Jelić
2b78f05aad crypto: More SAS tests. 2020-08-11 09:28:28 +02:00
Damir Jelić
1f0a96e31d crypto: Disable the SAS timeout test on macOS. 2020-08-10 17:26:15 +02:00
Damir Jelić
6593cce778 crypto: Simplify the Instant substraction. 2020-08-10 16:53:15 +02:00
Damir Jelić
d7bcf42a2b crypto: False alarm with the deadlock we just didn't use the right method. 2020-08-10 16:18:20 +02:00
Damir Jelić
18b655f829 crypto: Test the cancellation of timed out verifications. 2020-08-10 15:55:08 +02:00
Damir Jelić
e2e70d6583 crypto: Cancel timed out verifications. 2020-08-10 15:24:22 +02:00
Damir Jelić
7bcdc2a3b6 Merge branch 'master' into sas-timeout 2020-08-10 14:57:32 +02:00
Damir Jelić
7eeff64059 crypto: Cancel timed out events on the state transitions. 2020-08-10 14:29:38 +02:00
Damir Jelić
6c4e2fa508 crypto: Remove mutable borrows in the tests. 2020-08-10 14:15:47 +02:00
Damir Jelić
d5cd608045 base: Remove some unnecessary mutable borrows of the olm machine. 2020-08-10 14:11:55 +02:00
Jonas Platte
d83fc971ce
Update ruma 2020-08-10 13:58:39 +02:00
Damir Jelić
87bcba3561 crypto: Add timestamps to the SAS struct so we can check if it timed out. 2020-08-10 13:30:12 +02:00
Damir Jelić
81e9a7cefc crypto: Pass a String when setting the other SAS pubkey. 2020-08-10 10:18:57 +02:00
Jonas Platte
d016ce1848
Use identifier macros in tests 2020-08-06 13:03:32 +02:00
Devin Ragotzy
a3b4cab22e matrix_sdk_crypto: Fix clippy warnings add wasm emscripten to .gitignore 2020-08-04 20:02:09 -04:00
Damir Jelić
807432b31f crypto: Calculate the correct extra info when generating emojis. 2020-08-04 13:54:00 +02:00
Damir Jelić
69d2a00759 crypto: Add a TODO about SAS timing out. 2020-08-04 12:56:55 +02:00
Damir Jelić
be01ee2de0 crypto: Cancel the verification if we find a MAC mismatch. 2020-08-04 12:31:56 +02:00
Damir Jelić
408fe5da4b crypto: Check that the other device had a valid MAC. 2020-08-04 12:14:19 +02:00
Damir Jelić
2bf8c99dfe Merge branch 'master' into sas-verification 2020-08-04 11:23:24 +02:00
Damir Jelić
26ec0c6368 crypto: Proptest the emoji/decimal calculation. 2020-08-03 17:22:44 +02:00
Damir Jelić
9f0fbcccf6 crypto: Remove verification objects that are done or canceled. 2020-08-03 16:18:35 +02:00
Damir Jelić
e431ba0bf5 crypto: Fix some clippy warnings. 2020-08-03 15:05:19 +02:00
Damir Jelić
f4517c150c crypto: Add more log lines to the SAS code. 2020-08-03 14:51:04 +02:00
Damir Jelić
e37229554b crypto: Make sure that we don't hold on to a mutex guard over an await. 2020-08-03 14:49:33 +02:00
Damir Jelić
df9da7539a crypto: Expose some more SAS info publicly. 2020-08-03 14:33:15 +02:00
Damir Jelić
1787d2ebe6 crypto: Hook up marking the device as verified. 2020-08-03 12:38:43 +02:00
Devin Ragotzy
0ac2b84c02 Unify import style across workspace 2020-08-02 08:05:43 -04:00
Devin Ragotzy
ed1f12ce37 Run cargo fmt with merge-imports true 2020-08-02 07:46:02 -04:00
Damir Jelić
1a40491c0b matrix-sdk: Fix some clippy warnings. 2020-07-31 15:18:03 +02:00
Damir Jelić
7ecd4a035f crypto: Split out the Sas logic into different files. 2020-07-31 14:54:08 +02:00
Damir Jelić
7ceda2f39c crypto: Update to the latest Ruma changes. 2020-07-31 12:05:07 +02:00
Damir Jelić
a71c7b2964 crypto: Add a method to set the verification state of devices. 2020-07-30 15:54:56 +02:00
Damir Jelić
d9fbc18777 crypto: Update to the latest Ruma changes. 2020-07-30 15:48:13 +02:00
Damir Jelić
a58ace70a7 crypto: Fix the SAS MAC calculation KEYIDS -> KEY_IDS. 2020-07-30 15:45:19 +02:00
Damir Jelić
5a58fdff98 cyrpto: Fix a clippy warning. 2020-07-29 14:50:39 +02:00
Damir Jelić
21b0afe72c matrix-sdk: Add a Sas wrapper. 2020-07-29 14:19:47 +02:00
Damir Jelić
a726ebab39 crypto: Allow Sas objects to be canceled. 2020-07-29 13:53:33 +02:00
Damir Jelić
4634efc092 crypto: More SAS content to to-device request logic. 2020-07-29 13:23:03 +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ć
7f2df68d62 crypto: Expose some SAS methods publicly. 2020-07-28 16:24:45 +02:00
Damir Jelić
a6fa9f99fd crypto: Hook up the verification machine. 2020-07-28 15:37:20 +02:00
Damir Jelić
7e95d85f17 crypto: Move the cryptostore behind a lock. 2020-07-28 15:03:44 +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ć
792623f53d crypto: Fix a clippy warning. 2020-07-27 15:57:30 +02:00
Damir Jelić
6e67585bf6 crypto: Handle all the cancel states. 2020-07-27 15:56:28 +02:00
Damir Jelić
5471c07244 crypto: More canceling. 2020-07-27 15:34:18 +02:00
Damir Jelić
0b04f7960b crypto: Add more checks and cancels in the SAS state machine. 2020-07-27 15:28:14 +02:00
Damir Jelić
623f91733e crypto: More verification canceling. 2020-07-27 13:18:00 +02:00
Damir Jelić
da3734ffc7 crypto: Add initial SAS canceling. 2020-07-27 13:16:56 +02:00
Damir Jelić
7128505768 Merge branch 'master' into sas-verification 2020-07-26 21:20:53 +02:00
Jonas Platte
6a96368048
Upgrade ruma 2020-07-26 16:58:27 +02:00
Damir Jelić
8c9c843bfc crypto: Fix a comment in the sas file. 2020-07-25 10:59:20 +02:00
Damir Jelić
094b2f90d6 Merge branch 'master' into sas-verification 2020-07-25 10:31:20 +02:00
Damir Jelić
2cbdca1f58 crypto: Make it easier to create canceled SasState. 2020-07-25 10:24:44 +02:00
Jonas Platte
7aea6160c3
Flatten nested match for less indentation 2020-07-25 02:31:52 +02:00
Jonas Platte
ca88539ec4
Upgrade ruma 2020-07-25 02:23:10 +02:00
Damir Jelić
670755bfce crypto: Start checking and cancelling our SAS flows. 2020-07-24 17:51:20 +02:00
Damir Jelić
46c1657643 crypto: Fix some clippy warnings. 2020-07-24 16:04:47 +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ć
de94b903d6 crypto: Rename the Sas struct. 2020-07-24 11:32:38 +02:00
Damir Jelić
2f28976694 crypto: Make the Sas struct thread safe. 2020-07-24 11:26:45 +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ć
ee51ed78be crypto: Allow users to check the SAS even after a mac event was received. 2020-07-23 14:35:29 +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
Damir Jelić
e6730a7007 crypto: More SAS refactoring. 2020-07-23 14:14:29 +02:00