Jonas Platte
1af28486cc
events: Implement Default for EmptyStateKey
2023-03-10 12:33:55 +01:00
Jonas Platte
4049969d8c
events: Implement Default for InitialStateEvent
...
… where C has an empty state key and implements Default itself.
2023-03-10 12:33:55 +01:00
Kévin Commaille
d56386a636
events: Add link to definition of m.room.encryption recommended defaults
2023-03-10 11:41:53 +01:00
Kévin Commaille
8a3bccaef1
client-api: Fix type of rank in search::search_events::v3::SearchResult
...
It is defined in the spec as a number, not an integer.
2023-03-10 11:19:32 +01:00
Kévin Commaille
0596e46045
events: Add method to construct RoomEncryptionEventContent with the recommended defaults
2023-03-10 11:13:37 +01:00
Jonas Platte
25be562036
Update trybuild output
2023-03-10 10:59:52 +01:00
Jonas Platte
4eb5033dd0
events: Add utility functions for InitialStateEvent
2023-03-09 18:58:56 +01:00
kegsay
543c03f8f2
client-api: Use the right EDU types in sliding sync
2023-03-08 13:28:53 +01:00
Jonas Platte
01acabe8a6
identifiers: Implement AsRef<[u8]> for owned ID types
2023-03-07 11:18:14 +01:00
Jonas Platte
5aa0f29935
identifiers: Add AsRef<[u8]> impls for ID types
2023-03-07 11:06:34 +01:00
kegsay
471c46273a
client-api: Fix typo in sliding sync extensions
...
It has always been `receipts` not `receipt`.
2023-03-06 18:42:03 +01:00
Kévin Commaille
44daf84e46
client-api: Allow to convert AnyPushRule(Ref) to PushRule
2023-03-02 11:30:48 +01:00
Kévin Commaille
ba296ec466
push: Add method to remove a user-defined push rule from a Ruleset
2023-03-02 11:30:48 +01:00
Kévin Commaille
a78d2a7dcf
push: Add method to update server-default push rules
2023-03-02 11:30:48 +01:00
Kévin Commaille
c44e0b5e5a
push: Fix ordering of docs
2023-03-02 11:30:48 +01:00
gnieto
7565588be7
signatures: Prevent accepting events without at least one valid signature
...
`verify_event` has been changed recently to be more aligned with the
spec. In the previous algorithm, it returned an error if the event was
not signed by at least one of the required entities.
The new algortihm is iterating over all the signtures for the required
entities *and* skipping unknown algorithms. If an event is signed only
by unkonwn algorithms, the event would be accepted and not verifications
will happen. In order to prevent that, we check that, at least, a single
key is checked. This covers the 2nd point in: https://spec.matrix.org/v1.6/appendices/#checking-for-a-signature
A few more test cases were added:
- The event is properly signed, but key map contains a key with an
unknown algorithm. Under this circumstances, the event should be
allowed.
- An event signed by multiple keys for an entity, should verify all
those signatures
- An event signed by a single key with an unkown algorithm by the
required entity, should fail
2023-03-02 09:34:57 +00:00
Jason Volk
87237bf100
signatures: Comply with the specified signature checking algorithm.
...
Based on research https://github.com/ruma/ruma/pull/1491#issuecomment-1445042510 by @zecakeh
2023-03-01 22:25:06 +01:00
Jason Volk
920a412da1
signatures: Skip keys which don't split so other keys can be used instead.
2023-03-01 22:25:06 +01:00
Ivan Enderlin
2edfe5bc5f
client-api: Add missing sync::sync_events::v4::Response::txn_id
field
...
In the [specification], if the request contains a `txn_id` value, the response
must echo the same `txn_id`. Unfortunately, this field is missing from
`sync::sync_events::v4::Response::txn_id`. This patch addresses that problem by
adding the missing field.
[specification]: 89cf0341b5/proposals/3575-sync.md
2023-03-01 09:02:53 +00:00
Jason Volk
bcb97b139d
signatures: Allow additional key version-string characters in compat mode
...
This complies with the published specification by default, with optional compatibility for additional federation keys in use.
Co-authored-by: Jonathan de Jong <jonathan@automatia.nl>
2023-03-01 09:54:38 +01:00
Jonas Platte
f9a40e137e
events: Remove reaction bundling
...
It was removed from the MSC.
https://github.com/matrix-org/matrix-spec-proposals/pull/2677
2023-02-28 20:01:04 +01:00
Kévin Commaille
57083ef3f8
ci: Unpin nightly version
2023-02-28 18:44:57 +01:00
Kévin Commaille
30c5326c20
ci: Bump clap
2023-02-28 18:44:57 +01:00
Kévin Commaille
cc47a7268b
events: Updates location event types
...
Even if the MSC hasn't been updated, refactor a bit to match other
extensible events types.
2023-02-27 20:28:38 +01:00
Kévin Commaille
61c23491c6
events: Update types according to changes in MSC3381
2023-02-27 20:28:38 +01:00
Kévin Commaille
fbf99fcc53
events: Update types according to changes in MSC3554
2023-02-27 20:28:38 +01:00
Kévin Commaille
08aa2ca04c
events: Update types according to changes in MSC3245
2023-02-27 20:28:38 +01:00
Kévin Commaille
41be6ac18b
events: Update types according to MSC3927 and changes in MSC3246
2023-02-27 20:28:38 +01:00
Kévin Commaille
60f754322e
events: Update types according to changes in MSC3553
2023-02-27 20:28:38 +01:00
Kévin Commaille
5985bbe803
events: Update types according to changes in MSC3552
2023-02-27 20:28:38 +01:00
Kévin Commaille
2de1cecec6
events: Update types according to changes in MSC3551
2023-02-27 20:28:38 +01:00
Kévin Commaille
8477efb2ef
events: Update types according to changes in MSCs 1767, 3954, 3955 and 3956
2023-02-27 20:28:38 +01:00
Kévin Commaille
ba237a9cfd
client-api: Add convenience constructors for enabling lazy-loading in filters
2023-02-27 20:20:07 +01:00
Kévin Commaille
a435a83cdd
ci: Pin rust nightly for clippy
...
To work around lint issue with clap
2023-02-27 20:10:36 +01:00
Kévin Commaille
e490c8893d
events: Remove the serde alias for the blurhash field in events
...
Some clients send both the stable and unstable version so deserialization fails.
2023-02-27 17:04:39 +01:00
Kévin Commaille
f29bbebf08
events: Make the json_object macro syntax easier to read
2023-02-23 19:31:08 +01:00
Kévin Commaille
32901da35f
events: Reorganize tests
...
Move tests to the proper files, streamline test names and remove
duplicates.
2023-02-23 19:31:08 +01:00
Jonas Platte
54d27f1083
events: Implement {From,Into}Iterator for ReceiptEventContent
2023-02-22 17:32:40 +01:00
Jonas Platte
53f9cf52ed
events: Implement {From,Into}Iterator for DirectEventContent
2023-02-22 17:32:39 +01:00
Jonas Platte
45857ed6fa
appservice: Implement useful traits for ReceiptContent
2023-02-22 17:32:39 +01:00
Jonas Platte
c2d8b4f4b9
events: Update changelog
2023-02-22 14:41:02 +01:00
Jonas Platte
11d5020565
events: Don't require threads to contain m.in_reply_to
2023-02-22 14:38:23 +01:00
Jonas Platte
145356217d
Release ruma-client-api 0.16.2
2023-02-16 19:37:28 +01:00
Jonas Platte
b50ef4864c
client-api: Don't serialize None
as null
in report_content
2023-02-16 19:25:07 +01:00
Kévin Commaille
7a84fb2d3f
readme: Advertise support for Matrix 1.6
2023-02-15 13:39:56 +01:00
Kévin Commaille
361b4d2ab1
Release ruma 0.8.2
2023-02-15 13:22:51 +01:00
Kévin Commaille
8cd72fa892
Release ruma-state-res 0.9.1
2023-02-15 13:12:49 +01:00
Kévin Commaille
8f74ec4b1a
Release ruma-signatures 0.13.1
2023-02-15 13:08:31 +01:00
Kévin Commaille
8b0608b6af
Release ruma-server-util 0.1.1
2023-02-15 13:06:29 +01:00
Kévin Commaille
15e8dca7f7
Release ruma-push-gateway-api 0.7.1
2023-02-15 13:04:55 +01:00