Commit graph

158 commits

Author SHA1 Message Date
Damir Jelić
623408913c Merge branch 'secret-sharing' 2021-08-13 20:38:31 +02:00
Damir Jelić
00e11d33f1 crypto: Fix user-signing signature uploads 2021-08-13 18:28:52 +02:00
Damir Jelić
356506060c crypto: Remove private cross signing keys if we detect that they changed 2021-08-13 18:28:52 +02:00
Damir Jelić
4e9fe79619 crypto: Start remembering if an inbound group session has been backed up 2021-08-13 18:28:52 +02:00
Damir Jelić
e4a9cf0bba crypto: Disallow re-sharing room keys with devices with changed curve keys 2021-08-13 18:28:52 +02:00
Damir Jelić
4f46212d1a crypto: Add a method to manually verify our own user identity 2021-08-13 18:28:52 +02:00
Damir Jelić
ee838087ca crypto: Add methods to export/import cross signing keys 2021-08-13 18:28:52 +02:00
Damir Jelić
b540b8df62 crypto: Add a method to check the state of our private cross signing keys 2021-08-13 18:28:52 +02:00
Damir Jelić
68df9b6ed2 crypto: Allow secrets to be requested and imported 2021-08-13 18:28:52 +02:00
Damir Jelić
bc8c2752e4 crypto: Store newly created Olm sessions immediately
This fixes a bug where we would try to create a new Olm session, even if
we already created one, because we didn't yet add the new one to the
store.

This would be triggered every time two or more Olm pre-key messages
arrive that don't yet have an Olm session. This leads to decryption
failures for every message that arrived in the same sync after the
first one which created the new Olm session.
2021-08-13 18:28:52 +02:00
Damir Jelić
5192feb836 crypto: Add support to request secrets 2021-08-13 18:28:52 +02:00
Damir Jelić
a916288d03 crypto: Support responding to secret requests 2021-08-13 18:28:52 +02:00
Damir Jelić
96e26651bc crypto: Bump the olm-rs version 2021-08-13 14:07:37 +02:00
Jonas Platte
578ddd2698
Upgrade to ruma 0.3.0 2021-08-12 10:41:20 +02:00
Damir Jelić
778867e3ef crypto: Test that edits get properly decrypted 2021-07-26 15:28:17 +02:00
Damir Jelić
46f9c292ab crypto: Streamline how we update one-time key counts
There is no reason to use different logic when updating one-time key
counts coming from an upload response vs when coming from a sync
response.

Switch to an AtomicU64 for the count as well, the i64 is probably a
remnant of the SQLite based crypto store.
2021-07-22 16:06:10 +02:00
Damir Jelić
c5df7c5356 crypto: Add methods to request verification from users 2021-07-08 12:30:30 +02:00
Jonas Platte
4d5768111d
Simplify ruma identifier imports 2021-06-23 16:12:23 +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ć
00c3921d2a crypto: Add initial support for QR code verification 2021-06-17 11:04:17 +02:00
Damir Jelić
5fa2b05622 matrix-sdk: Fix some more typos 2021-06-08 11:13:23 +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
eed2b37885
Replace Arc<Box<DeviceId>> by Arc<DeviceId> 2021-06-06 18:15:18 +02:00
Jonathan de Jong
f76cb1d123 the the 2021-06-05 14:55:01 +02:00
Jonathan de Jong
f36fb55727 some more typos 2021-06-05 14:50:08 +02:00
Jonathan de Jong
74a6d39b9f various typos 2021-06-05 14:35:20 +02:00
Jonas Platte
15540e84e3
Upgrade ruma 2021-05-15 17:22:32 +02:00
Devin Ragotzy
5f09d091cb Add cargo fmt to ci using nightly 2021-05-12 15:38:59 -04:00
Devin Ragotzy
2ef0c2959c Add use_small_heuristics option and run fmt 2021-05-12 15:37:29 -04:00
Devin Ragotzy
c85f4d4f0c Add rustfmt config file and run over workspace 2021-05-12 15:36:52 -04:00
Kévin Commaille
b8017b1fb0
bump ruma to 24154195a00390a33542603b968e94022487587c 2021-05-07 13:22:32 +02:00
Damir Jelić
43b7072609 matrix-sdk: Fix some newly introduced clippy warnings 2021-05-06 20:42:27 +02:00
Damir Jelić
cff90b1480 matrix-sdk: Add encryption info to our sync events. 2021-04-29 10:35:54 +02:00
Damir Jelić
4713af6aac crypto: Fix a typo 2021-04-14 11:14:59 +02:00
Damir Jelić
893a5109ce crypto: Remove some unneeded parenthesis 2021-04-12 19:11:03 +02:00
Kévin Commaille
dadd2fa68c
Bump ruma to e2728a70812412aade9322f6ad832731978a4240 2021-04-11 12:04:53 +02:00
Kévin Commaille
7c34ac4e82
Bump ruma to 2f1b9f097930bf7908ca539f2ab7bb0ccf5d8b25
Use MxcUri instead of String for media URLs.

Fix wrong MXC URIs in tests.

Remove method parse_mxc no longer useful.

Apply new non-exhaustive types: CrossSigningKey, OneTimeKey and SignedKey.

Apply endpoint name change: send_state_event_for_key to send_state_event
2021-04-05 19:49:55 +02:00
Damir Jelić
61167fab15 crypto: Make restored outbound sessions wait for requests if they have some 2021-03-05 17:12:32 +01:00
Damir Jelić
93e5c34670 crypto: Add a bit more info to the room key sharing logic logging 2021-03-02 17:15:10 +01:00
Denis Kasak
df8c489304 Fix typo: visiblity -> visibility 2021-03-02 12:20:09 +01:00
Damir Jelić
e6f6665fa0 Merge branch 'master' into history-visiblity-session-share 2021-03-01 20:47:31 +01:00
Damir Jelić
1f5cad136e matrix-sdk: Bump Ruma 2021-03-01 19:20:07 +01:00
Damir Jelić
5ca40b9893 crypto: Be more forgiving when updating one-time key counts 2021-02-17 15:24:46 +01:00
Damir Jelić
6cc03d1c19 crypto: Improve the logging for deserialization failures 2021-02-17 15:23:26 +01:00
Damir Jelić
1799721a5f crypto: Store the history visibility with inbound group sessions
This can be useful to share the room history with new room members.
2021-02-03 16:59:34 +01:00
Damir Jelić
9e83eaf2f5 crypto: Store the history visiblity with the outbound session 2021-02-03 16:01:58 +01:00
Damir Jelić
10da61c567 crypto: Answer key reshare requests only at the originally shared message index 2021-01-28 14:07:51 +01:00
Damir Jelić
6cb2c8b468 crypto: Store and restore outbound group sessions 2021-01-25 17:14:13 +01:00