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 |
|
Damir Jelić
|
6fd852d573
|
crypto: Refactor out some common SAS methods.
|
2020-07-23 14:02:07 +02:00 |
|
Damir Jelić
|
7f2b268a59
|
Merge branch 'master' into sas-verification
|
2020-07-23 13:43:01 +02:00 |
|
Damir Jelić
|
bb9adea5de
|
crypto: Implement the whole SAS flow.
|
2020-07-23 13:41:57 +02:00 |
|
Damir Jelić
|
b1ae5534a1
|
crypto: Hold a copy of the account to get the ed25519 key when doing SAS.
|
2020-07-23 11:19:19 +02:00 |
|
Damir Jelić
|
9214f01185
|
cyrpto: Fill out the method to get the MacEventContent.
|
2020-07-23 11:08:09 +02:00 |
|
Damir Jelić
|
c35f73473e
|
crypto: Add a copyright header to the sas file.
|
2020-07-23 09:21:11 +02:00 |
|
Jonas Platte
|
bf54b17a2f
|
Upgrade ruma
|
2020-07-22 22:31:42 +02:00 |
|
Damir Jelić
|
4ce26f4fa0
|
crypto: Add support to get the SAS emoji out of a verification.
|
2020-07-22 16:41:16 +02:00 |
|
Damir Jelić
|
cdcbcdfab3
|
crypto: Add support to display the decimal SAS value.
|
2020-07-22 15:11:34 +02:00 |
|
Damir Jelić
|
7a2d5c30db
|
crypto: More Sas states and add an initial test.
|
2020-07-22 13:43:11 +02:00 |
|
Damir Jelić
|
a7bc1a95d3
|
device: Add a method to create a Device from an Account.
|
2020-07-22 13:41:49 +02:00 |
|
Damir Jelić
|
4fa58bfaac
|
crypto: Add getters for the user and device id in the account.
|
2020-07-22 13:40:47 +02:00 |
|
Damir Jelić
|
e612326714
|
Merge branch 'master' into sas-verification
|
2020-07-22 11:30:58 +02:00 |
|
Damir Jelić
|
9ef784d665
|
crypto: Simplify the OlmMachine -> Device conversion.
|
2020-07-22 09:27:43 +02:00 |
|
Damir Jelić
|
2481fbbd27
|
crypto: Store the device signatures with the devices as well.
|
2020-07-21 17:33:47 +02:00 |
|
Damir Jelić
|
a9d645cbcd
|
crypto: Rewrite the device keys fetching in the SQLiteStore using filter_map.
|
2020-07-21 16:46:11 +02:00 |
|
Damir Jelić
|
578c927e58
|
crypto: Simplify the share_group_session method.
|
2020-07-21 14:13:10 +02:00 |
|
Damir Jelić
|
24baf1fe0f
|
crypto: More doc fixes.
|
2020-07-21 13:04:51 +02:00 |
|
Damir Jelić
|
861c07d5ce
|
cyrpto: Fix the docs for the Session encrypt method.
|
2020-07-21 12:59:15 +02:00 |
|
Damir Jelić
|
451d902604
|
crypto: Allow that many arguments on the from_pickle session method.
|
2020-07-21 12:57:31 +02:00 |
|
Damir Jelić
|
c3f00c96f8
|
crypto: Don't require the account to be passed when encrypting.
|
2020-07-21 12:46:06 +02:00 |
|
Damir Jelić
|
e50cf39a17
|
crypto: Store a copy of the user_id/device_id and identity keys in sessions.
|
2020-07-21 12:40:23 +02:00 |
|
Damir Jelić
|
3f1439fe28
|
crypto: Move the olm encryption logic into the Session struct.
|
2020-07-21 12:03:05 +02:00 |
|
Damir Jelić
|
3d6872607e
|
crypto: Move the m.room_key content creation into the outbound group session.
|
2020-07-21 11:12:20 +02:00 |
|
Damir Jelić
|
fe33430e9b
|
crypto: Use DeviceId instead of str everywhere.
|
2020-07-21 10:48:15 +02:00 |
|
Damir Jelić
|
b22324b305
|
crypto: Split out the olm module into separate files.
|
2020-07-21 10:38:14 +02:00 |
|
Devin R
|
037d62b165
|
matrix-sdk-crypto: Remove map clone from user_devices
|
2020-07-20 08:10:42 -04:00 |
|
Devin R
|
8c39db002b
|
Remove inaccurate comment about DeviceId
|
2020-07-18 08:52:51 -04:00 |
|
Devin R
|
e27b6fb51e
|
matrix-sdk-crypto: Fix map_clone clippy warning
|
2020-07-18 08:52:51 -04:00 |
|
Devin R
|
807435c043
|
Updates DeviceId to be Box<DeviceId>
|
2020-07-18 08:51:19 -04:00 |
|
Devin R
|
71f2a042c2
|
Rename Stub -> Sync for all ruma events
|
2020-07-18 08:37:43 -04:00 |
|
Damir Jelić
|
d273786d83
|
matrix-sdk: Bump our dependencies.
|
2020-07-17 10:01:22 +02:00 |
|
Damir Jelić
|
5bebe1d434
|
crypto: Clippy fixes for our tests.
|
2020-07-15 15:58:36 +02:00 |
|
Damir Jelić
|
a2a87b9fff
|
matrix-sdk: Fix a bunch of clippy warnings.
|
2020-07-15 15:53:17 +02:00 |
|
Damir Jelić
|
de1988265d
|
crypto: Move the outbound session creation logic into the account.
|
2020-07-15 15:39:56 +02:00 |
|
Damir Jelić
|
83806b42e9
|
crypto: Remove a stale comment about clearing private keys from events.
|
2020-07-15 13:07:48 +02:00 |
|
Damir Jelić
|
1691a26163
|
crypto: Add initial Sas scaffolding.
|
2020-07-14 17:04:08 +02:00 |
|
Damir Jelić
|
51012e632e
|
crypto: Rename the StoreError to StoreResult.
|
2020-07-14 13:11:44 +02:00 |
|
Damir Jelić
|
5d76fd9aac
|
crypto: Refactor the key query handling logic a bit.
|
2020-07-14 13:08:57 +02:00 |
|
Damir Jelić
|
c25f4c0642
|
crypto: Verify one-time keys using the device.
|
2020-07-14 12:49:40 +02:00 |
|
Damir Jelić
|
68125f5de6
|
crypto: Refactor out the json verification method.
|
2020-07-14 12:23:42 +02:00 |
|
Damir Jelić
|
b602d3007d
|
crypto: Remove some useless mem::replace calls.
|
2020-07-14 12:03:27 +02:00 |
|
Damir Jelić
|
41cfbaf520
|
device: Store the device keys with the algorithm and device id.
This will ensure that we can check the signature of the device later on.
|
2020-07-14 12:00:29 +02:00 |
|
Damir Jelić
|
8206394918
|
crypto: Use AlgorithmAndDeviceId to get the device signature.
|
2020-07-14 11:27:50 +02:00 |
|
Damir Jelić
|
ca85564a9f
|
crypto: Move the device keys verificatin logic into the device.
|
2020-07-14 11:17:09 +02:00 |
|
Damir Jelić
|
18b444aac5
|
crypto: Move the uploaded key count handing into the account.
|
2020-07-13 16:46:51 +02:00 |
|
Damir Jelić
|
a7a9ac24ed
|
crypto: Move the key count field into the account.
|
2020-07-13 15:49:16 +02:00 |
|
Damir Jelić
|
b2ccb61864
|
crypto: Add the device id and identity keys to the megolm session.
This way we don't need to pass in the account to encrypt events.
|
2020-07-13 14:32:59 +02:00 |
|
Damir Jelić
|
ac264918b8
|
crypto: Move the megolm decryption logic into the session.
|
2020-07-13 14:00:42 +02:00 |
|
Damir Jelić
|
8e19c583c6
|
crypto: Move the megolm encryption logic into the outbound group session.
|
2020-07-13 13:19:25 +02:00 |
|
Damir Jelić
|
c2f1e4de64
|
crypto: Disable a clippy warning.
|
2020-07-11 23:15:10 +02:00 |
|
Jonas Platte
|
eea00301ff
|
Remove immediately-deref'ed double references
|
2020-07-11 21:20:02 +02:00 |
|
Jonas Platte
|
9b5f95672b
|
Use js_int macros to improve readability
|
2020-07-11 21:06:21 +02:00 |
|
Jonas Platte
|
1fcb68c59f
|
Remove unused dependencies
|
2020-07-11 20:55:05 +02:00 |
|
Damir Jelić
|
18ccd30c8c
|
crypto: Add a bunch of TODO lines documenting how to refactor stuff further.
|
2020-07-11 12:05:52 +02:00 |
|
Damir Jelić
|
df2bcf6f1f
|
crypto: Style fix for a doc comment.
|
2020-07-11 09:45:52 +02:00 |
|
Damir Jelić
|
27eeeb8db6
|
crypto: Move the one-time key signing into the accoung.
|
2020-07-10 17:53:04 +02:00 |
|
Damir Jelić
|
6ded76a5a7
|
crypto: Move the device_keys() method into the account.
|
2020-07-10 17:10:34 +02:00 |
|
Damir Jelić
|
58d79ca9c6
|
crypto: Put the user id and device id into the account.
|
2020-07-10 15:43:32 +02:00 |
|
Devin R
|
dcc3d6e755
|
sdk_base: Remove room_id as argument from all Room methods
Remove room_id paramater from some client methods. Make CreationContent
two methods of RoomBuilder. Add docs for MessageWrapper.
|
2020-07-10 08:59:02 -04:00 |
|
Devin R
|
eb5949dbc2
|
Move matrix-sdk to ruma monorepo
|
2020-07-10 08:59:00 -04:00 |
|
Damir Jelić
|
283cf0d782
|
matrix-sdk: Bump all our deps.
|
2020-07-07 15:52:08 +02:00 |
|
Damir Jelić
|
262a61afc9
|
crypto: Simplify the group session pair creation.
|
2020-06-25 13:31:30 +02:00 |
|
Damir Jelić
|
676d547161
|
matrix-sdk: Disable the tarpaulin skip lines since it fails to run with them.
|
2020-06-24 11:25:31 +02:00 |
|
Devin R
|
9e738f45ef
|
crypto/base: Finish moving to using static json values for test data
|
2020-06-22 16:18:12 -04:00 |
|
Marcel
|
d4087a1aae
|
Fix cargo fmt issues that the local version didn't auto fix
|
2020-06-17 19:16:04 +02:00 |
|
Marcel
|
8b77b4171a
|
Do wasm sepcific changes:
- Only use send+sync when not using wasm
- Use wasm capabale async_trait wrapper macro
- Make room and room_member specific structs always clonable
|
2020-06-17 18:57:39 +02:00 |
|
Damir Jelić
|
ea427cf366
|
Merge branch 'upload-keys'
|
2020-06-17 09:33:09 +02:00 |
|
Devin R
|
15191d0230
|
crypto: Fix overflow in should_upload_keys, bail out if uploaded keys > max uploaded
|
2020-06-16 18:07:13 -04:00 |
|