Commit Graph

1878 Commits (cba22ae3b2ee1f4d79629ef33036bb574f775e0f)

Author SHA1 Message Date
Damir Jelić ec55258be9 crypto: Handle decrypted to-device events as well
Usually only room keys and forwarded room keys are sent as encrypted
to-device events, those are specially handled to avoid accepting room
keys coming in unencrypted.

Some clients might send out other events encrypted which might lower
metadata leakage and the spec doesn't disallow it.

This patch handles decrypted events the same way as non-encrypted ones,
we're still special casing the decryption handling to avoid decryption
loops/bombs (i.e. events that are encrypted multiple times).
2021-05-13 11:08:13 +02:00
Devin Ragotzy 6b600d7e6d Replace async_trait rustfmt removed 2021-05-12 20:34:14 -04: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
Damir Jelić 4f7902d6f0 crypto: Add a method to check it the SAS flow supports emoji 2021-05-12 20:09:02 +02:00
Damir Jelić 9863bc4a1c matrix-sdk: Fix a clippy warning 2021-05-12 19:45:23 +02:00
Damir Jelić 77c2a4ed4f matrix-sdk: Bump ruma 2021-05-12 19:19:42 +02:00
Damir Jelić 4c09c6272b Merge branch 'feat/appservice' 2021-05-11 09:50:26 +02:00
Damir Jelić da57061db0 Merge branch 'tags' 2021-05-10 13:27:30 +02:00
Johannes Becker 753302394f appservice: Remove outdated error 2021-05-10 12:08:04 +02:00
Johannes Becker a2125adeee ci: Dedicated matrix-sdk-appservice pipeline 2021-05-10 09:56:33 +02:00
Johannes Becker 14bc4eb7e0 appservice: Rename verify_hs_token to hs_token_matches 2021-05-10 09:11:15 +02:00
Johannes Becker 325531d13f appservice: Compile time webserver feature check 2021-05-10 09:04:51 +02:00
Johannes Becker 87099676f9 appservice: Improve docs 2021-05-10 08:43:06 +02:00
Johannes Becker 3b24d33822 appservice: Rely on cfg-toggle in send_request 2021-05-10 07:56:00 +02:00
Johannes Becker eece920953 appservice: Initial version 2021-05-10 07:51:52 +02:00
Jonas Platte 44eff7deb7
Add a general-purpose API error variant to HttpError 2021-05-08 15:01:02 +02:00
Jonas Platte 68b74c5ea9
Rename HttpError::{FromHttpResponse => ClientApi} 2021-05-08 14:49:42 +02:00
Jonas Platte efe5b1e538
Bump ruma 2021-05-08 14:49:15 +02:00
Kévin Commaille a2ab6a9f23
base: Get the tags for a room 2021-05-07 19:11:27 +02:00
Damir Jelić 1bda3659ce sas: Allow to just get the emoji index instead of the emoji and descryption 2021-05-07 17:04:27 +02:00
Damir Jelić 80d01b23c4 sas: Return an array of seven emojis instead of a vector 2021-05-07 17:01:53 +02:00
Damir Jelić dea3d4cb68 sas: Implement a missing todo, allow accepting in-room verifications.
Technically that's not needed since we auto-accept here after we
accepted the request but we still need to remove the TODO there.
2021-05-07 16:57:52 +02:00
Kévin Commaille b8017b1fb0
bump ruma to 24154195a00390a33542603b968e94022487587c 2021-05-07 13:22:32 +02:00
Damir Jelić 8dbbacfbe6 client: Add a method to get the ed25519 key of our own device 2021-05-06 21:44:50 +02:00
Damir Jelić 43b7072609 matrix-sdk: Fix some newly introduced clippy warnings 2021-05-06 20:42:27 +02:00
Damir Jelić cad888e69b client: Remove a now unneeded workaround for UIA 2021-05-06 19:18:22 +02:00
Damir Jelić 5df9ae350c client: Require a proper Url to create a client 2021-05-06 09:58:21 +02:00
Damir Jelić d90e112c06 Merge branch 'encryption-info-v2' 2021-04-29 16:54:14 +02:00
poljar 6048a1a507
crypto: Fix a typo
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:34:53 +02:00
poljar 233c4355d8
crypto: Use encryption info in the docstring for the type of the same name
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:34:39 +02:00
poljar e71cabc8f0
crypto: Fix a typo.
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:34:04 +02:00
poljar 22b333a0d9
Use as_str() to get the string event type.
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-29 15:33:45 +02:00
Damir Jelić c720abfa87 base: Fix the wasm example 2021-04-29 12:46:21 +02:00
Damir Jelić 5d73dd7da7 room: Add methods to get members that don't do any requests
Our main methods to get members nowadays ensure that the member list is
synchronized with the server. This is nice and convenient but might not
be desirable for a couple of reasons.

Firstly it might be costly to fetch all members at once depending on
what the client is doing and the number of rooms and secondly some
clients might have a hybrid setup where not everything is running on a
tokio thread, sending out requests is only possible on a tokio thread.
2021-04-29 12:38:07 +02:00
Damir Jelić 5cf0fd2b85 room: Override the method to get a specific room member 2021-04-29 11:08:09 +02:00
Damir Jelić b3cf2c5899 base: Fix a clippy warning if the encryption feature is turned off 2021-04-29 10:46:47 +02:00
Damir Jelić 4fc21a8860 base: Store the raw versions of events in the state store
This patch changes the way we store and load the majority of events that
are in the state store. This is done so custom fields in the event
aren't lost since a deserialize/serialize cycle removes all the unknown
fields from the event.
2021-04-29 10:35:54 +02:00
Damir Jelić cff90b1480 matrix-sdk: Add encryption info to our sync events. 2021-04-29 10:35:54 +02:00
Damir Jelić 5ed0c7a7b3 Merge branch 'notifications' 2021-04-28 10:30:06 +02:00
Kévin Commaille 0e2017e537
matrix-sdk: Fix clippy warning 2021-04-27 14:37:43 +02:00
Kévin Commaille 1cc4f953b3
matrix-sdk: Small fixes 2021-04-27 13:47:07 +02:00
Kévin Commaille f8bc9f3dc9
matrix-sdk: handle overflow in active_members_count 2021-04-27 13:47:06 +02:00
Kévin Commaille 24e96df7ea
matrix-sdk: Propagate store error in get_push_rules 2021-04-27 13:47:06 +02:00
Kévin Commaille c569436ba4
matrix-sdk: Add StateChanges::add_notification 2021-04-27 13:47:06 +02:00
Kévin Commaille f6c4fdde7d
matrix-sdk: Implement EncodeKey for EventType 2021-04-27 13:47:06 +02:00
Kévin Commaille 3f2c5d22b6
matrix-sdk: Get notifications locally on sync 2021-04-27 13:46:56 +02:00
Jonas Platte bd02ff901f Avoid needless copies by changing http::Request<Vec<u8>> to http::Request<Bytes> 2021-04-26 17:31:27 +02:00
Johannes Becker 242d46c9a1 matrix-sdk: require_auth_for_profile_requests feature and force_auth request config
forces authentication for `get_avatar` which was previously done with
the unstable-synapse-quirks feature in ruma
2021-04-26 17:31:25 +02:00