Commit graph

16 commits

Author SHA1 Message Date
Damir Jelić
5d0ff961b2 crypto: Check the Olm message hash if we fail to decrypt an Olm message.
Wether by accident (the next_batch token doesn't get stored properly) or
by malicious intent (the server replays a message) an Olm encrypted to-device
message may appear multiple times.

This is usually fine since nothing bad happens, we don't decrypt the message
and the message gets thrown away.

Since the introduction of Olm session unwedging an undecryptable message
leads to the creation of a new fresh Olm session. To avoid this we
remember which Olm messages we already decrypted so they don't trigger
an unwedging dance.
2020-12-01 14:50:04 +01:00
Damir Jelić
7ec5a5ad1a Merge branch 'master' into crypto-improvements 2020-11-26 13:24:57 +01:00
Damir Jelić
c40edcf2fc matrix-sdk: Try to lower our compile times, at least in the crypto part for now. 2020-11-20 20:35:48 +01:00
Damir Jelić
5c14910126 crypto: WIP cross signing bootstrap. 2020-10-26 16:03:59 +01:00
Damir Jelić
bd0ac703a0 crypto: Initial logic for session unwedging. 2020-10-09 15:39:35 +02:00
Damir Jelić
8c4acf54e0 crypto: Reorder the errors so unpickling now returns the timestamp error. 2020-09-02 12:11:06 +02:00
Damir Jelić
9edc876160 crypto: Check that the master key and subkeys have the same user id. 2020-08-20 15:14:58 +02:00
Damir Jelić
d21e8213b5 crypto: Don't panic if the key id can't be parsed. 2020-08-14 14:25:51 +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ć
578c927e58 crypto: Simplify the share_group_session method. 2020-07-21 14:13:10 +02:00
Devin R
807435c043 Updates DeviceId to be Box<DeviceId> 2020-07-18 08:51:19 -04:00
Damir Jelić
de1988265d crypto: Move the outbound session creation logic into the account. 2020-07-15 15:39:56 +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ć
addb455d16 crypto: Add all the missing docs and deny missing docs from now on. 2020-04-30 17:10:12 +02:00
Damir Jelić
fc0d4a7d35 crypto: Rework our errors making them more specific. 2020-04-30 13:16:10 +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
Renamed from src/crypto/error.rs (Browse further)