Commit Graph

820 Commits (807432b31f2215109da43a031119fda44bc470ea)

Author SHA1 Message Date
Damir Jelić 451d902604 crypto: Allow that many arguments on the from_pickle session method. 2020-07-21 12:57:31 +02:00
Damir Jelić c3f00c96f8 crypto: Don't require the account to be passed when encrypting. 2020-07-21 12:46:06 +02:00
Damir Jelić e50cf39a17 crypto: Store a copy of the user_id/device_id and identity keys in sessions. 2020-07-21 12:40:23 +02:00
Damir Jelić 3f1439fe28 crypto: Move the olm encryption logic into the Session struct. 2020-07-21 12:03:05 +02:00
Damir Jelić 3d6872607e crypto: Move the m.room_key content creation into the outbound group session. 2020-07-21 11:12:20 +02:00
Damir Jelić fe33430e9b crypto: Use DeviceId instead of str everywhere. 2020-07-21 10:48:15 +02:00
Damir Jelić b22324b305 crypto: Split out the olm module into separate files. 2020-07-21 10:38:14 +02:00
Devin R 037d62b165 matrix-sdk-crypto: Remove map clone from user_devices 2020-07-20 08:10:42 -04:00
Devin R 8c39db002b Remove inaccurate comment about DeviceId 2020-07-18 08:52:51 -04:00
Devin R e27b6fb51e matrix-sdk-crypto: Fix map_clone clippy warning 2020-07-18 08:52:51 -04:00
Devin R e4f94cbfec Remove FullOrRedacted use ruma::AnyPossiblyRedacted event enum 2020-07-18 08:52:51 -04:00
Devin R 807435c043 Updates DeviceId to be Box<DeviceId> 2020-07-18 08:51:19 -04:00
Devin R 71f2a042c2 Rename Stub -> Sync for all ruma events 2020-07-18 08:37:43 -04:00
Devin R 2e8fc3e232 matrix-sdk-base: Integrate redacted events into message queue
Redact message events according to spec and ruma types. Remove content
using events redact() method and insert the redacting event into the
event being redacted.
2020-07-17 13:41:55 -04:00
Damir Jelić d273786d83 matrix-sdk: Bump our dependencies. 2020-07-17 10:01:22 +02:00
Damir Jelić 7ddc785a9a Merge branch 'timeout' 2020-07-17 09:59:21 +02:00
Damir Jelić 3e23affc9e Merge branch 'encombhat-master' 2020-07-17 09:41:29 +02:00
Stephen f2163164bf Wasm fix 2020-07-16 20:53:09 -03:00
Stephen 44dfbd2fa6 Fix 2020-07-16 20:21:34 -03:00
Stephen 2f99d0de59 Bugfix 2020-07-16 20:06:26 -03:00
Black Hat 7a72949613 Client::sync_forever(): Add filter in next iteration. 2020-07-16 15:55:55 -07:00
Stephen b0241e51a3 Fixed formatting 2020-07-16 18:40:52 -03:00
Stephen c5ea4fde35 HTTP timeout 2020-07-16 18:16:30 -03:00
Black Hat cc4ae3db1e Client::SyncSettings: Include sync filter 2020-07-16 06:13:35 -07:00
Black Hat a5c5f5a7b1 Revert "Client::sync(): expose sync filter"
This reverts commit 0542e3d83d.
2020-07-16 06:04:26 -07:00
Damir Jelić 7c46953805 travis: Don't allow failures for Windows. 2020-07-16 14:23:36 +02:00
Damir Jelić 2d83c40626 travis: Test the base client on Windows as well. 2020-07-16 14:09:40 +02:00
Damir Jelić d75101d042 travis: Run the tests on Windows. 2020-07-16 14:09:40 +02:00
Damir Jelić 04bb65f43e travis: Don't test encyrption support on Windows for now. 2020-07-16 14:09:40 +02:00
Damir Jelić c1ffed4fc9 base: Sanitize the room id for the path of the state store.
This closes: #71.
2020-07-16 14:08:56 +02:00
Black Hat 0542e3d83d Client::sync(): expose sync filter 2020-07-16 03:49:46 -07:00
Damir Jelić 2d955027e1 travis: Don't set the linux version. 2020-07-15 16:11:08 +02:00
Damir Jelić 38166135dc travis: Add a clippy stage. 2020-07-15 15:59:04 +02:00
Damir Jelić 5bebe1d434 crypto: Clippy fixes for our tests. 2020-07-15 15:58:36 +02:00
Damir Jelić a2a87b9fff matrix-sdk: Fix a bunch of clippy warnings. 2020-07-15 15:53:17 +02:00
Damir Jelić 497b973eb5 travis: Test newer macOS versions. 2020-07-15 15:46:17 +02:00
Damir Jelić de1988265d crypto: Move the outbound session creation logic into the account. 2020-07-15 15:39:56 +02:00
Damir Jelić 6cced25ae1 travis: Don't allow failures on the wasm target. 2020-07-15 14:13:43 +02:00
Damir Jelić 4e40c13b81 travis: Fix the minimal build. 2020-07-15 14:05:52 +02:00
Damir Jelić bf152df322 matrix-sdk: Hide some tracing imports behind the encryption flag. 2020-07-15 14:05:22 +02:00
Damir Jelić 3315cf5bc6 travis: Add a build that doesn't use any of the features. 2020-07-15 13:23:28 +02:00
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