Damir Jelić
204279c575
matrix-sdk: Don't hide the tracing import behind the encryption feature.
2020-07-15 13:19: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ć
fa0a22b090
Merge branch 'dkasak-master'
...
High-level summary of changes:
- Rewrite the disambiguation algorithm to simplify it.
- Fixes to state tracking, e.g. use `state_key` instead of `user_id` when
determining which member an event is acting on.
- Changes to `RoomMember`:
* Make `RoomMember` "dumber" and don't let it mutate itself. This came about
primarily because `update_profile` cannot live on `RoomMember` because it
needs some information from `Room`. The other few mutating methods then
looked odd so it seemed best to move them to `Room` so that the room takes
care of updating its members.
* Each `RoomMember` now contains all information to calculate its set of
names:
+ `.name()` (short/ergonomic but potentially ambiguous),
+ `.unique_name()` (unique but may be contain MXID when not necessary),
+ `.disambiguated_name()` (shortest possible while being unique).
- Add some logging using the `tracing` crate.
- Improvements to `EventBuilder`:
* Add a docstring.
* Make it clear itself when building a sync response so the same builder can
be reused for later sync responses.
- A few tests.
2020-07-15 12:52:25 +02:00
Denis Kasak
bce7fe0217
Equivalence class -> equivalence set.
2020-07-15 11:58:52 +02:00
Denis Kasak
1fd21ee206
Fix docstrings regarding return value related to disambiguation.
2020-07-15 11:54:30 +02:00
Denis Kasak
8a4a4140b3
Remove stale comment.
2020-07-15 11:22:47 +02:00
Denis Kasak
62943f055d
Rewrap docstrings and comments to 80 chars.
2020-07-15 11:21:01 +02:00
Denis Kasak
ea149ebd8e
Update docstring for disambiguation_updates.
2020-07-15 11:16:13 +02:00
Denis Kasak
32737a5517
Use match instead of if-let in sync_forever.
2020-07-15 09:43:58 +02:00
Damir Jelić
1691a26163
crypto: Add initial Sas scaffolding.
2020-07-14 17:04:08 +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
Denis Kasak
9e48b7172b
cargo fmt
2020-07-14 12:38:55 +02:00
Damir Jelić
68125f5de6
crypto: Refactor out the json verification method.
2020-07-14 12:23:42 +02:00
Damir Jelić
b602d3007d
crypto: Remove some useless mem::replace calls.
2020-07-14 12:03:27 +02:00
Damir Jelić
41cfbaf520
device: Store the device keys with the algorithm and device id.
...
This will ensure that we can check the signature of the device later on.
2020-07-14 12:00:29 +02:00
Damir Jelić
8206394918
crypto: Use AlgorithmAndDeviceId to get the device signature.
2020-07-14 11:27:50 +02:00
Damir Jelić
ca85564a9f
crypto: Move the device keys verificatin logic into the device.
2020-07-14 11:17:09 +02:00
Denis Kasak
7d9a699d62
Fix EventBuilder docstring example.
2020-07-14 11:08:16 +02:00
Damir Jelić
a38efc0f29
room: Fix a clippy warning, use unwrap_or_else for the member counts.
2020-07-14 10:56:06 +02:00
Denis Kasak
048a2000e7
Merge
2020-07-13 17:10:13 +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
Damir Jelić
740a5af068
Merge branch 'dan/bugfix/implable-StateStore'
2020-07-13 10:19:37 +02:00
Dan Enman
8c3855221c
mark state::AllRooms and state::ClientState as public
2020-07-11 19:14:55 -03:00
Damir Jelić
c2f1e4de64
crypto: Disable a clippy warning.
2020-07-11 23:15:10 +02:00
Damir Jelić
8a7c53c00d
matrix-sdk: Remove the wrongly committed olm-sys/olm-rs patch defintions.
2020-07-11 22:18:01 +02:00
Damir Jelić
c1ae183795
Merge branch 'deps-and-stuff'
2020-07-11 22:13:35 +02:00
Jonas Platte
eea00301ff
Remove immediately-deref'ed double references
2020-07-11 21:20:02 +02:00
Jonas Platte
85522ac35a
Slightly simplify RoomName::calculate_name
2020-07-11 21:14:32 +02:00
Jonas Platte
9b5f95672b
Use js_int macros to improve readability
2020-07-11 21:06:21 +02:00
Jonas Platte
ffc5204109
Fix two pattern matching related warnings
2020-07-11 20:57:01 +02:00
Jonas Platte
a607d70371
Upgrade mockito in matrix-sdk-base
2020-07-11 20:55:19 +02:00
Jonas Platte
1fcb68c59f
Remove unused dependencies
2020-07-11 20:55:05 +02:00
Damir Jelić
9bceb2f539
crypto: Add the user id and device id to the account.
2020-07-11 17:23:50 +02:00
Damir Jelić
7003ea2d23
matrix-sdk-common: Depend on a working revision of the ruma mono repo.
2020-07-11 16:24:36 +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ć
eb19c19e36
Merge branch 'perf-1'
2020-07-11 10:33:30 +02:00
Damir Jelić
df2bcf6f1f
crypto: Style fix for a doc comment.
2020-07-11 09:45:52 +02:00
Jonas Platte
3ee06be87b
Rewrite MessageQueue deserialization to reduce allocations
2020-07-10 21:41:46 +02:00
Jonas Platte
3a07a17e9d
Remove unnecessary calls to clone()
2020-07-10 21:24:01 +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
Denis Kasak
05a41d3b4d
Move and rename member_display_name to RoomMember::disambiguated_name.
...
This makes more sense as all the required information is now available
on `RoomMember`. We also don't have to handle the case of the missing
member since now you have to actually get a `RoomMember` before you can
ask for their name.
2020-07-10 15:47:11 +02:00
Damir Jelić
58d79ca9c6
crypto: Put the user id and device id into the account.
2020-07-10 15:43:32 +02:00
Damir Jelić
4ee245dcce
examples: Updat the autojoin example to use the ruma mono repo.
2020-07-10 15:30:17 +02:00