Commit graph

1424 commits

Author SHA1 Message Date
Damir Jelić
795c1225dd CI: Use the cargo-clippy workflow. 2020-12-08 12:37:39 +01:00
Damir Jelić
b982d36303 crypto: Run the time sensitive tests only on linux. 2020-12-08 12:34:59 +01:00
Damir Jelić
a80aa4c2ad base: Fix some lint issues. 2020-12-08 12:11:55 +01:00
Damir Jelić
27d9cf04de base: Remove a flaky state store test.
The state store is undergoing a rewrite and this test fails more often
than i would like making our CI seem flaky.

Remove the test since it's going to become obsolete anyways.
2020-12-08 11:52:21 +01:00
Damir Jelić
e4779163b8 CI: Run the tests on the CI. 2020-12-08 11:36:01 +01:00
Damir Jelić
2cc899338a CI: Split out the fmt and clippy runs into two jobs. 2020-12-08 11:21:09 +01:00
Amanda Graven
8dc56ec332
Add methods for setting, getting and uploading avatar 2020-12-08 11:18:00 +01:00
Damir Jelić
1d5ee22dd2 CI: Name our lint stages. 2020-12-08 11:08:41 +01:00
Damir Jelić
59917f45e3 matrix-sdk: Fix a clippy lint. 2020-12-08 11:01:20 +01:00
Damir Jelić
35247fac2a crypto: Fix a lint issue. 2020-12-08 10:50:58 +01:00
Damir Jelić
e24fb8b471 CI: Fix the cargo fmt invocation. 2020-12-08 10:44:19 +01:00
Damir Jelić
795900cf39 CI: Add a lint github workflow. 2020-12-08 10:42:05 +01:00
Damir Jelić
6d2d48a35a base: WIP inivted rooms handling. 2020-12-08 09:52:27 +01:00
Damir Jelić
5c608ed474 base: Store main account data. 2020-12-07 16:35:00 +01:00
Damir Jelić
e38f0762ee base: Store the notification counts. 2020-12-07 15:11:18 +01:00
Damir Jelić
ab832da03e base: Deserialize ephemeral events. 2020-12-07 14:34:18 +01:00
Damir Jelić
de61798d78 base: Store room account data. 2020-12-07 14:17:18 +01:00
Amanda Graven
bca7f41ca9
Fix error in example 2020-12-07 13:14:23 +01:00
Amanda Graven
7f503eb71c
Add examples, remove user from method names 2020-12-07 12:59:10 +01:00
Amanda Graven
a26dc3179a
Add methods for getting and setting display name 2020-12-07 11:17:26 +01:00
Damir Jelić
b36d907fac base: Add the power level event to the room member. 2020-12-06 18:11:32 +01:00
Damir Jelić
886a1c7a77 Merge branch 'crypto-improvements' into new-state-store 2020-12-05 15:01:21 +01:00
Damir Jelić
aa1a64628f crypto: Remove a bunch of unneeded whitespace in a log line. 2020-12-05 14:59:40 +01:00
Damir Jelić
0e66640b9f crypto: Log both user id versions when the device keys mismatch. 2020-12-05 14:59:40 +01:00
Damir Jelić
3f41e5071b crypto: Preserve the relationship info while decrypting events. 2020-12-05 14:59:40 +01:00
Damir Jelić
9eb17e757c matrix-sdk: Update ruma. 2020-12-05 14:59:40 +01:00
Damir Jelić
2bcdd0163b Merge branch 'crypto-improvements' into new-state-store 2020-12-04 17:02:32 +01:00
Damir Jelić
f483a56f81 crypto: Remove a bunch of unneeded whitespace in a log line. 2020-12-04 17:01:15 +01:00
Damir Jelić
a5131a0a73 crypto: Log both user id versions when the device keys mismatch. 2020-12-04 16:58:20 +01:00
Damir Jelić
a7b31c90e0 Merge branch 'crypto-improvements' into new-state-store 2020-12-04 15:13:48 +01:00
Damir Jelić
8a842ec0a5 base: Log deserialization errors for decrypted events. 2020-12-04 15:13:37 +01:00
Damir Jelić
1b6bdc3307 crypto: Preserve the relationship info while decrypting events. 2020-12-04 15:12:46 +01:00
Damir Jelić
1733808221 Merge branch 'crypto-improvements' into new-state-store 2020-12-04 13:50:39 +01:00
Damir Jelić
8291b93356 matrix-sdk: Update ruma. 2020-12-04 13:35:56 +01:00
Damir Jelić
804bd221b2 crypto: Improve key imports.
This patch changes so key imports load all existing sessions at once
instead loading a single session for each session we are importing. It
removes the need to lock the session when we check the first known index
and exposes the total number of sessions the key export contained.
2020-12-02 11:12:46 +01:00
Damir Jelić
45442dfac8 Merge branch 'master' into new-state-store 2020-12-01 17:24:00 +01:00
Damir Jelić
e20b1efae9 crypto: Store private identities and accounts with the Changes struct as well. 2020-12-01 17:14:32 +01:00
Damir Jelić
e65915e159 Merge branch 'crypto-improvements' 2020-12-01 15:10:58 +01:00
Damir Jelić
4800e80492 matrix-sdk: Remove an unused import. 2020-12-01 15:08:53 +01:00
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ć
270350cd34 crypto: Save the olm message hash. 2020-12-01 14:38:03 +01:00
Damir Jelić
ae2391791d crypto: Use a released sqlx version. 2020-12-01 13:25:51 +01:00
Damir Jelić
24592adbba crypto: Return a higher level struct when decrypting olm messages instead of tuples 2020-12-01 12:41:11 +01:00
Damir Jelić
efe659910f crypto: Remove some stale TODOs. 2020-12-01 11:20:55 +01:00
Damir Jelić
08babb6d6c crypto: Document the new cross signing methods in the store. 2020-12-01 10:54:41 +01:00
Damir Jelić
50bd408d48 matrix-sdk: Don't use try_from for the u32 -> UInt conversion. 2020-12-01 10:34:10 +01:00
Damir Jelić
27b5bf3ddd base: Add initial left rooms handling. 2020-12-01 10:23:28 +01:00
Damir Jelić
0e563a9a81 base: Refactor out the room state/timeline handling. 2020-11-30 17:25:29 +01:00
Damir Jelić
7dd834a214 base: Add some more sync response fields. 2020-11-30 15:50:47 +01:00
Damir Jelić
b4d0179c18 base: Fetch the member presence when we fetch members. 2020-11-30 14:55:18 +01:00