Damir Jelić
|
e3f4c1849c
|
crypto: Finish up the key export feature.
|
2020-09-10 15:54:41 +02:00 |
|
Damir Jelić
|
127d4c225b
|
crypto: Change the crypto store so we can save multiple group sessions at once.
|
2020-09-09 16:34:18 +02:00 |
|
Damir Jelić
|
89efcee337
|
crypto: Move the signature verification method under an Utility struct.
|
2020-09-04 13:18:31 +02:00 |
|
Damir Jelić
|
22daf0d81e
|
Merge branch 'to-device-txn-uuid' into crypto-improvements
|
2020-09-04 12:54:40 +02:00 |
|
Damir Jelić
|
53fec7a87e
|
crypto: Don't ignore store errors when fetching the identities.
|
2020-09-04 12:44:03 +02:00 |
|
Damir Jelić
|
adf8905d9f
|
crypto: Rename the memory stores into caches and reorder the store module.
|
2020-09-04 12:42:40 +02:00 |
|
Damir Jelić
|
7b3dfe2f27
|
crypto: Move the device and user identities under one module.
|
2020-09-04 10:51:46 +02:00 |
|
Jonas Platte
|
73c104cac1
|
Replace IncomingToDeviceRequest with customized request type
|
2020-09-03 20:02:55 +02:00 |
|
Damir Jelić
|
39628a308b
|
matrix-sdk: Allow any event content to be sent out with room_send().
|
2020-08-26 15:41:27 +02:00 |
|
Damir Jelić
|
95c8708995
|
crypto: Document and rename the mark_requests_as_sent() method.
|
2020-08-24 14:49:57 +02:00 |
|
Devin Ragotzy
|
72614e4252
|
matrix_sdk_crypto: Appease clippy
|
2020-08-22 08:00:32 -04:00 |
|
Damir Jelić
|
de90da4adc
|
crypto: Make the verification machine compatible with how we queue up requests.
|
2020-08-21 16:26:34 +02:00 |
|
Damir Jelić
|
e38bfc64f4
|
crypto: Streamline the key claiming so we use the new mark request as sent method.
|
2020-08-21 14:40:49 +02:00 |
|
Damir Jelić
|
93e1967119
|
crypto: Initial refactor to switch to the outgoing_requests queue.
|
2020-08-21 13:35:01 +02:00 |
|
Damir Jelić
|
ce93869915
|
crypto: Return an Option instead of an empty result for the key uploads.
|
2020-08-21 09:50:01 +02:00 |
|
Damir Jelić
|
c307690c2e
|
crypto: Fix a clippy warning and some spelling.
|
2020-08-20 16:06:06 +02:00 |
|
Damir Jelić
|
c2ad298963
|
crypto: Check that the user ids match for the cross signing keys.
|
2020-08-20 15:40:49 +02:00 |
|
Damir Jelić
|
b97e3d7bae
|
crypto: Fix a clippy warning.
|
2020-08-20 10:49:14 +02:00 |
|
Damir Jelić
|
c3eb4d8106
|
crypto: Simplify some more function definitions.
|
2020-08-20 10:36:58 +02:00 |
|
Damir Jelić
|
ea49a35b43
|
crypto: Simplify the function signature of share_group_session.
|
2020-08-20 10:25:05 +02:00 |
|
Damir Jelić
|
a99e47c310
|
crypto: Shorten some log lines.
|
2020-08-20 10:23:16 +02:00 |
|
Damir Jelić
|
69fbe65ac4
|
crypto: Add some docs for the cross signing keys handling method.
|
2020-08-20 10:21:00 +02:00 |
|
Damir Jelić
|
aaa15c768c
|
crypto: Simplify the Olm message map construction.
|
2020-08-20 10:19:55 +02:00 |
|
Damir Jelić
|
58185e08e8
|
crypto: Move the olm_encrypt() method into the higher level Device.
|
2020-08-20 10:18:36 +02:00 |
|
Damir Jelić
|
23126c4e48
|
crypto: Disable the sqlite store test if the feature is disabled.
|
2020-08-19 17:55:28 +02:00 |
|
Damir Jelić
|
c3e593d998
|
crypto: The device identity can be our own, so store the identity enum instead.
|
2020-08-19 14:43:49 +02:00 |
|
Damir Jelić
|
a42af5da69
|
crypto: Let the device hold on to identities.
This makes it possible to check the verification state of the device
directly.
|
2020-08-19 10:58:14 +02:00 |
|
Damir Jelić
|
c21517c61e
|
crypto: Store the changed user identities.
|
2020-08-18 15:23:37 +02:00 |
|
Damir Jelić
|
f626f2b24e
|
crypto: Add some logging for the user identity update logic.
|
2020-08-18 15:22:30 +02:00 |
|
Damir Jelić
|
6d0b73cb3d
|
crypto: Pass the user identity to the SAS object when doing verifications.
|
2020-08-18 13:37:02 +02:00 |
|
Damir Jelić
|
f96437a242
|
crypto: Initial scaffolding for handling user identities in key queries.
|
2020-08-18 12:50:03 +02:00 |
|
Damir Jelić
|
84c0311d80
|
crypto: Rename the UserDevicesWrap struct.
|
2020-08-17 17:12:39 +02:00 |
|
Damir Jelić
|
91db502cfe
|
crypto: Rename DeviceWrap to Device.
|
2020-08-17 16:36:50 +02:00 |
|
Damir Jelić
|
43aea6e482
|
crypto: Rename Device to ReadOnlyDevice.
|
2020-08-17 16:17:28 +02:00 |
|
Damir Jelić
|
fd8377bce2
|
crypto: Add device wrappers so that the verification can be started with a device.
|
2020-08-17 15:36:45 +02:00 |
|
Damir Jelić
|
16a115d27e
|
Merge branch 'up-ruma' into master
|
2020-08-17 11:17:02 +02:00 |
|
Damir Jelić
|
8167f5e9de
|
crypto: Simplify the function signature of the share group session method.
|
2020-08-16 16:25:48 +02:00 |
|
Damir Jelić
|
5876c89858
|
crypto: The mark_user_as_changed method doesn't need to be public.
|
2020-08-15 15:51:04 +02:00 |
|
Jonas Platte
|
5040be042f
|
Update ruma
|
2020-08-15 15:17:27 +02:00 |
|
Damir Jelić
|
664d8c239c
|
crypto: Don't share group sessions with blacklisted devices.
|
2020-08-14 16:20:49 +02:00 |
|
Damir Jelić
|
181c2a92de
|
crypto: Initial scaffolding for the public cross signing keys.
|
2020-08-14 14:10:29 +02:00 |
|
Damir Jelić
|
08d76f2ff4
|
crypto: Pass the device key id to the verify signature method.
|
2020-08-14 14:08:53 +02:00 |
|
Damir Jelić
|
df0444faa5
|
crypto: Test the full SAS flow from the Olm machine.
|
2020-08-13 16:46:11 +02:00 |
|
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ć
|
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ć
|
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ć
|
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ć
|
947fa08dae
|
crypto: Don't require the load_account to mutably borrow self.
|
2020-08-11 15:08:07 +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ć
|
528483ef0e
|
crypto: Remove the last mutable self borrows in the Olm machine methods.
|
2020-08-11 12:22:14 +02:00 |
|
Damir Jelić
|
7bcdc2a3b6
|
Merge branch 'master' into sas-timeout
|
2020-08-10 14:57:32 +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 |
|
Jonas Platte
|
d016ce1848
|
Use identifier macros in tests
|
2020-08-06 13:03:32 +02:00 |
|
Damir Jelić
|
2bf8c99dfe
|
Merge branch 'master' into sas-verification
|
2020-08-04 11:23:24 +02:00 |
|
Damir Jelić
|
9f0fbcccf6
|
crypto: Remove verification objects that are done or canceled.
|
2020-08-03 16:18:35 +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ć
|
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 |
|
Jonas Platte
|
6a96368048
|
Upgrade ruma
|
2020-07-26 16:58:27 +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 |
|
Jonas Platte
|
bf54b17a2f
|
Upgrade ruma
|
2020-07-22 22:31:42 +02:00 |
|
Damir Jelić
|
9ef784d665
|
crypto: Simplify the OlmMachine -> Device conversion.
|
2020-07-22 09:27:43 +02:00 |
|
Damir Jelić
|
578c927e58
|
crypto: Simplify the share_group_session method.
|
2020-07-21 14:13:10 +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ć
|
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 |
|
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ć
|
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ć
|
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ć
|
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 |
|
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 |
|
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ć
|
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ć
|
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 |
|
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 |
|
Damir Jelić
|
6e5870bd2b
|
crypto: Simplify the max keys calculation for one-time key uploads.
|
2020-06-04 17:36:33 +02:00 |
|
Damir Jelić
|
ba66ee214f
|
matrix-sdk: Move most of the configuration to the base client.
|
2020-05-25 14:21:04 +02:00 |
|
Damir Jelić
|
6ecf46abf7
|
crypto: Mark tracked users as changed if a sync tells us so.
|
2020-05-21 14:30:42 +02:00 |
|
Damir Jelić
|
1d9fccdc9f
|
crypto: Move the users for key query map into the store.
|
2020-05-15 15:33:30 +02:00 |
|
Damir Jelić
|
458923d313
|
crypto: Add a method to mark a tracked user as dirt/changed.
|
2020-05-14 17:26:51 +02:00 |
|
Damir Jelić
|
ecbd801c70
|
crypto: Invalidate group sessions if they fail to be shared.
|
2020-05-14 11:55:12 +02:00 |
|
stoically
|
ef6104bc53
|
matrix-sdk: Support compiling to wasm32-unknown-unknown
|
2020-05-12 15:48:09 +02:00 |
|
Damir Jelić
|
6cbdbdcd2f
|
matrix-sdk: Rename the types subproject to matrix-sdk-common.
|
2020-05-07 08:51:59 +02:00 |
|
Damir Jelić
|
6e9e817597
|
crypto: Use next() instead of nth(0).
|
2020-05-06 15:00:16 +02:00 |
|
Damir Jelić
|
39e59792d2
|
crypto: Remove the session key in room key events again.
|
2020-05-06 12:15:15 +02:00 |
|
Damir Jelić
|
7b6e030823
|
matrix-sdk: Fix the last Ruma incompatibilities.
|
2020-05-05 15:29:25 +02:00 |
|
Damir Jelić
|
940332d414
|
crypto: Disable the failing tests now that the crypto is non-functional.
|
2020-05-04 14:21:48 +02:00 |
|
Damir Jelić
|
fed3c80466
|
crypto: Fix the tests now that events don't implement PartialEq.
|
2020-05-04 14:15:55 +02:00 |
|
Damir Jelić
|
86dc1ce3ca
|
crypto: Disable the creation of encrypted event content for now.
It isn't possible to encrypted events using ruma anymore. This will need
to be re-enabled once ruma gets back support for this.
|
2020-05-04 14:12:42 +02:00 |
|
Damir Jelić
|
704d8bc0ed
|
crypto: The algorithm specific contents don't take an algorithm anymore.
|
2020-05-04 14:11:06 +02:00 |
|
Damir Jelić
|
addb455d16
|
crypto: Add all the missing docs and deny missing docs from now on.
|
2020-04-30 17:10:12 +02:00 |
|
Damir Jelić
|
e109e01a28
|
crypto: More lint fixes.
|
2020-04-30 14:29:58 +02:00 |
|
Damir Jelić
|
3bcce962e3
|
matirx_sdk: Fix a bunch of clippy warnings.
|
2020-04-30 14:07:49 +02:00 |
|
Damir Jelić
|
fc0d4a7d35
|
crypto: Rework our errors making them more specific.
|
2020-04-30 13:16:10 +02:00 |
|
Damir Jelić
|
5de32c025f
|
crypto: Allow session to be saved in a batched way.
|
2020-04-30 12:08:38 +02:00 |
|
Damir Jelić
|
e33fd098bc
|
crypto: Make the save device method of the store accept a slice of devices.
|
2020-04-30 11:51:20 +02:00 |
|
Damir Jelić
|
5fef444d61
|
matrix-sdk: Split out the crypto part of the sdk into a separate crate.
|
2020-04-29 09:48:00 +02:00 |
|