Matthias Ahouansou
4dc15a4605
refactor: set send_request matrix versions in a single constant
1 year ago
Matthias Ahouansou
21af83ea72
feat: knocking
...
You may notice that we do no database migration for populating the state cache for knocking.
This is because that in all the places where we use the state cache, it doesn't make a difference:
- For local users, the clients wouldn't have been able to knock on rooms, as the `/knock`
endpoint wasn't implemented yet, and I am not aware of any client which tries to knock over
`/state`, as it would fail if the server is not currently in the room
- It is not used for remote users
1 year ago
Matthias Ahouansou
f4d90e9989
refactor: move duplicate code and some other small optimizations
1 year ago
Matthias Ahouansou
8acacdebc8
chore: bump ruma & rust
1 year ago
Matthias Ahouansou
d0c1b920ae
feat(federation): implement /make_leave and /send_leave
1 year ago
Matthias Ahouansou
ca76e92abd
refactor federation membership handshake endpoints, reducing duplication
1 year ago
Matthias Ahouansou
be3187fda7
fix: check that keys uploaded by clients are valid
...
clients uploading invalid keys can cause errors later when trying to add signatures
1 year ago
Matthias Ahouansou
55ec39c47e
feat(federation): support /make_join and /send_join for restricted rooms
1 year ago
Matthias Ahouansou
4942cc8e55
refactor: remove unecessery async
1 year ago
Matthias Ahouansou
2a7aa6242f
chore: upgrade ruma
1 year ago
Matthias Ahouansou
406367b4f2
chore: upgrade rust
...
this is needed for recent versions of ruma
1 year ago
Matthias Ahouansou
30855cef81
fix(media): return an error when content is failed to be parsed as an image
1 year ago
Matthias Ahouansou
dbc1daaefb
feat(turn): move config to table & error when no config is set
1 year ago
Matthias Ahouansou
56a51360e0
feat(spaces): hierarchy over federation
...
fix(spaces): deal with hierarchy recursion
fix(spaces): properly handle max_depth
refactor(spaces): token scheme to prevent clients from modifying max_depth and suggested_only
perf(spaces): use tokens to skip to room to start populating results at
feat(spaces): request hierarchy from servers in via field of child event
1 year ago
Timo Kösters
fea85b0894
fix: Migration typo for media
2 years ago
Timo Kösters
a7405cddc0
fix: Matrix media repo
2 years ago
Timo Kösters
3df21e8257
fix: old media used spaces in content disposition without quotes
2 years ago
The one with the braid
a6797ca0a2
fix: add missing msc3916 unstable feature in version response
...
Fixes : #473
Signed-off-by: The one with the braid <info@braid.business>
2 years ago
Matthias Ahouansou
cbd3b07ca7
feat(media): use authenticated endpoints when fetching remote media
2 years ago
Matthias Ahouansou
27d6d94355
feat: add support for authenticated media requests
2 years ago
Matthias Ahouansou
a3716a7d5a
chore: upgrade request client matrix version
...
this is needed so that new endpoints use stable paths
2 years ago
avdb13
423b0928d5
use ruma content disposition type in place of string
...
Co-Authored-By: Matthias Ahouansou <matthias@ahouansou.cz>
2 years ago
Matthias Ahouansou
6455e918be
fix: don't always assume ruma can generate reference hashes
2 years ago
Matthias Ahouansou
ea3e7045b4
fix: don't fail the entire transaction if any PDU's format is invalid
2 years ago
Matthias Ahouansou
d95345377b
fix: remove TLS name override when no SRV record is present (but properly)
...
The previous attempt only did so when no IP could be resolved, which isn't enough
2 years ago
Matthias Ahouansou
11187b3fad
fix: remove TLS name override when no SRV record is present
...
this could have been an issue in cases where there was previously a SRV record, but later got removed
2 years ago
Matthias Ahouansou
ba8429cafe
fix: don't cache server name lookups indefinitely
2 years ago
Matthias Ahouansou
62f1da053f
feat(appservice): support timestamped messaging
2 years ago
Matthias Ahouansou
602c56cae9
chore: bump ruma
2 years ago
Matthias Ahouansou
fd19dda5cb
ci: use nightly rustfmt
...
we were using this before, but it broke when refactoring the flake out into separate files
2 years ago
Matthias Ahouansou
c453d45598
fix(keys): only use keys valid at the time of PDU or transaction, and actually refresh keys
...
Previously, we only fetched keys once, only requesting them again if we have any missing, allowing for ancient keys to be used to sign PDUs and transactions
Now we refresh keys that either have or are about to expire, preventing attacks that make use of leaked private keys of a homeserver
We also ensure that when validating PDUs or transactions, that they are valid at the origin_server_ts or time of us receiving the transaction respectfully
As to not break event authorization for old rooms, we need to keep old keys around
We move verify_keys which we no longer see in direct requests to the origin to old_verify_keys
We keep old_verify_keys indefinitely as mentioned above, as to not break event authorization (at least until a future MSC addresses this)
2 years ago
Matthias Ahouansou
144d548ef7
fix: permission checks for aliases
2 years ago
Benjamin Lee
7b259272ce
fix: do not return redacted events from search
2 years ago
Matthias Ahouansou
48c1f3bdba
fix: userid checks for incoming EDUs
2 years ago
Matthias Ahouansou
ba2a5a6115
chore: bump all dependencies
2 years ago
Matthias Ahouansou
1dbb3433e0
fix(media): use csp instead of modifying content-type
2 years ago
Matthias Ahouansou
b46000fadc
feat: recurse relationships
2 years ago
Matthias Ahouansou
ec8dfc283c
fix(membership): fallback to locally signed event if the join wasn't a restricted one on send_join response
2 years ago
Matthias Ahouansou
9374b74e77
refactor: let ruma-server-util handle X-Matrix parsing
2 years ago
Matthias Ahouansou
59d7674b2a
fix: clarify that 3pids are currently unsupported
2 years ago
tony
6bcc2f80b8
add command to set the allow registration status
...
Co-Authored-By: Matthias Ahouansou <matthias@ahouansou.cz>
2 years ago
mikoto
a888c7cb16
OpenID routes
...
Co-Authored-By: Matthias Ahouansou <matthias@ahouansou.cz>
2 years ago
Timo Kösters
965b6df83d
fix: make media response match spec
2 years ago
Matthias Ahouansou
d8badaf64b
fix(membership): always set reason & allow new events if reason changed
2 years ago
Matthias Ahouansou
256dae983b
chore: bump rust
...
and fix new lints that come with it
2 years ago
Jakub Kubík
c1f695653b
feat: support hosting .well-known from Conduit
...
Co-authored-by: Matthias Ahouansou <matthias@ahouansou.cz>
2 years ago
Matthias Ahouansou
63ba157ef6
feat(auth): check if X-Matrix destination is correct if present
2 years ago
Matthias Ahouansou
dfe2916357
feat(federation): add destination field to X-Matrix header
2 years ago
Matthias Ahouansou
74db555336
fix(membership): perform stricter checks when choosing an authorized user
2 years ago
Matthias Ahouansou
3086271139
feat(appservice): ensure users/aliases outside of namespaces are not accessed
2 years ago