Damir Jelić
5b0457dad0
crypto: Remember the users that received the outbound group session.
2020-09-18 18:55:17 +02:00
Damir Jelić
a183584541
crypto: Test that we correctly check the hash when decrypting attachments.
2020-09-18 17:49:44 +02:00
Damir Jelić
562bb5aee3
crypto: Remove some dead key requests code for now.
2020-09-18 17:26:56 +02:00
Damir Jelić
dea3e4adf4
crypto: Document when a key export may panic.
2020-09-18 14:04:39 +02:00
Damir Jelić
5d5d5bb141
crypto: Hook up the key requesting to the main state machine.
2020-09-18 13:50:13 +02:00
Damir Jelić
c58cf71be1
crypto: Send out key request cancellations once we receive a key.
2020-09-18 13:49:46 +02:00
Damir Jelić
af4b00195b
crypto: Implement the key/value store for the sqlite store.
2020-09-18 13:42:51 +02:00
Damir Jelić
41529a6bff
base: Don't handle the wildcard case for member events anymore.
2020-09-17 17:31:17 +02:00
Damir Jelić
300b03bd9e
crypto: Add more test for the outgoing key requests.
2020-09-17 17:13:42 +02:00
Damir Jelić
a5b195efc7
crypto: Initial tests for the key requests state machine.
2020-09-17 16:55:33 +02:00
Damir Jelić
692f9baa0e
crypto: Add logic to handle outgoing key requests.
2020-09-17 16:09:08 +02:00
Damir Jelić
6b24d91ed9
crypto: Add an initial version of our key request state machine.
2020-09-17 14:16:43 +02:00
Damir Jelić
24ce4881c7
crypto: Add a method to save/load arbitrary objects from a CryptoStore.
...
This actually adds trait methods that save/load strings from the
CryptoStore. We add a wrapper for the CryptoStore since we can't mix
trait objects and generics, so we add generic methods to save/load
anything that implements Serialize/Deserialize.
2020-09-16 16:03:19 +02:00
Damir Jelić
849934b180
crypto: Use a constant for the attachment encryption version.
2020-09-16 12:39:23 +02:00
Damir Jelić
428b28a985
matrix-sdk: Increase the type length limit for the wasm example.
2020-09-16 12:28:42 +02:00
Damir Jelić
95145fae8f
matrix-sdk: Remove the example with encrypted uploads.
...
The example fail to build on platforms where we don't support encryption. So
remove the example for now.
2020-09-16 12:09:30 +02:00
Damir Jelić
ae894e0ff6
crypto: Finish up the attachment encryption.
...
This adds docs and proper error handling to the attachment encryption.
Zeroing out the key buffers is added as well.
2020-09-16 12:05:44 +02:00
Damir Jelić
86d95518be
matrix-sdk: Fix the case where the encryption feature is disabled.
2020-09-15 19:10:26 +02:00
Damir Jelić
c8e459bc55
matrix-sdk: Fix the encryption feature.
2020-09-15 18:07:00 +02:00
Damir Jelić
4d431b7c9e
matrix-sdk: Test the attachment sending paths.
2020-09-15 18:06:32 +02:00
Damir Jelić
890e6cbc73
crypto: Turn an unwrap into a except.
2020-09-15 17:18:31 +02:00
Damir Jelić
e98960f30b
matrix-sdk: Add an image uploading bot to the examples.
2020-09-15 17:17:28 +02:00
Damir Jelić
c500c06e4b
matrix-sdk: Add docs and cleanup the media upload methods.
2020-09-15 17:16:16 +02:00
Damir Jelić
3ac3be501f
matrix-sdk: Refactor out the check if a room is encrypted.
2020-09-15 15:02:59 +02:00
Damir Jelić
3573614640
crypto: Add some TODOs for the key query handling.
2020-09-15 12:13:35 +02:00
Damir Jelić
a60f60bd7d
Merge branch 'master' into encrypted_attachments
2020-09-15 12:04:37 +02:00
Damir Jelić
a4980e8a04
matrix-sdk: Remove an unneeded lifetime.
2020-09-14 20:38:53 +02:00
Damir Jelić
b628e6286a
crypto: Remove an unused import.
2020-09-14 20:27:30 +02:00
Jonas Platte
fb47abcc17
Update ruma
2020-09-14 20:26:52 +02:00
Damir Jelić
c2756a9a92
matrix-sdk: First draft for our upload method.
2020-09-14 20:07:55 +02:00
Damir Jelić
2d6882c495
crypto: Use a Read implementation for the attachment encryption as well.
2020-09-14 20:06:44 +02:00
Damir Jelić
51f3d90224
crypto: Move the file encryption modules under a submodule.
2020-09-14 17:14:18 +02:00
Damir Jelić
1a140ecc2f
crypto: Initial support for attachment encryption.
2020-09-14 16:38:52 +02:00
Damir Jelić
f603696ff4
crypto: Expose the olm machine only if the encryption feature is enabled.
2020-09-11 17:06:45 +02:00
Damir Jelić
ffd2843b0a
matrix-sdk: Expose the import/export keys methods.
2020-09-11 16:34:39 +02:00
Damir Jelić
618a58ba34
crypto: Add error handling to the key exports.
2020-09-10 17:02:36 +02:00
Damir Jelić
126ac3059b
Merge branch 'key_export' into master
2020-09-10 16:32:41 +02:00
Damir Jelić
8af18a4df7
crypto: Test the EncryptionSettings conversion.
2020-09-10 16:21:23 +02:00
Damir Jelić
7790c3db8f
crypto: Fix a bunch of clippy warnings.
2020-09-10 16:07:28 +02:00
Damir Jelić
e3f4c1849c
crypto: Finish up the key export feature.
2020-09-10 15:54:41 +02:00
Damir Jelić
848156213b
crypto: Add a PartialEq derive for the exported key struct.
2020-09-10 15:51:39 +02:00
Damir Jelić
23e953d9cf
crypto: Hide some methods that shouldn't be public.
2020-09-10 15:49:34 +02:00
Damir Jelić
464e181f66
crypto: Add a method to get all group sessions from the store.
2020-09-10 14:59:20 +02:00
Damir Jelić
7bd0e4975b
crypto: Store the forwarding chains for group sessions.
2020-09-09 17:27:10 +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ć
9617d9aac9
crypto: Test the import/export of group sessions.
2020-09-09 16:10:16 +02:00
Damir Jelić
e828828ace
crypto: Document the exported key -> forwarded room key conversion methods.
2020-09-09 15:11:25 +02:00
Damir Jelić
3e9b0a8e7f
crypto: Correctly store the ed25519 key map for inbound group sessions.
2020-09-09 15:03:19 +02:00
Damir Jelić
aff1e1d0a8
crypto: Add key export methods for inbound group sessions.
2020-09-09 12:47:28 +02:00
Damir Jelić
98f69aed41
crypto: Remove some duplicated types after the group session split.
2020-09-09 11:52:10 +02:00