Commit Graph

248 Commits

Author SHA1 Message Date
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
2025-03-03 18:07:21 +00:00
Matthias Ahouansou
f4d90e9989 refactor: move duplicate code and some other small optimizations 2025-03-03 16:25:43 +00:00
Matthias Ahouansou
8acacdebc8 chore: bump ruma & rust 2025-03-03 16:25:43 +00:00
Matthias Ahouansou
d0c1b920ae feat(federation): implement /make_leave and /send_leave 2025-03-03 16:25:43 +00:00
Matthias Ahouansou
ca76e92abd refactor federation membership handshake endpoints, reducing duplication 2025-03-03 16:25:43 +00:00
Matthias Ahouansou
55ec39c47e feat(federation): support /make_join and /send_join for restricted rooms 2025-02-26 16:04:07 +00:00
Matthias Ahouansou
4942cc8e55 refactor: remove unecessery async 2025-02-25 14:08:57 +00:00
Matthias Ahouansou
2a7aa6242f chore: upgrade ruma 2025-02-24 23:56:12 +00:00
Matthias Ahouansou
406367b4f2 chore: upgrade rust
this is needed for recent versions of ruma
2025-02-23 16:22:34 +00:00
Matthias Ahouansou
e20dd1469a Merge branch 'error-parse-image-thumbnail' into 'next'
fix(media): return an error when content is failed to be parsed as an image

See merge request famedly/conduit!734
2025-02-04 16:37:26 +00:00
Matthias Ahouansou
30855cef81 fix(media): return an error when content is failed to be parsed as an image 2025-02-04 16:21:14 +00:00
Matthias Ahouansou
7963a9d23f Merge branch 'turn-config' into 'next'
feat(turn): move config to table & error when no config is set

See merge request famedly/conduit!733
2025-02-04 15:43:14 +00:00
Matthias Ahouansou
dbc1daaefb feat(turn): move config to table & error when no config is set 2025-02-04 14:37:30 +00:00
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
2024-10-11 00:04:54 +01:00
Timo Kösters
fea85b0894 fix: Migration typo for media 2024-09-24 23:07:19 +02:00
Timo Kösters
a7405cddc0 fix: Matrix media repo 2024-09-24 19:43:26 +02:00
Timo Kösters
3df21e8257 fix: old media used spaces in content disposition without quotes 2024-09-24 16:46:32 +02:00
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>
2024-09-21 10:54:01 +02:00
Matthias Ahouansou
cbd3b07ca7 feat(media): use authenticated endpoints when fetching remote media 2024-08-28 11:25:28 +01:00
Matthias Ahouansou
27d6d94355 feat: add support for authenticated media requests 2024-08-28 11:25:28 +01:00
Matthias Ahouansou
a3716a7d5a chore: upgrade request client matrix version
this is needed so that new endpoints use stable paths
2024-08-28 11:25:28 +01:00
avdb13
423b0928d5 use ruma content disposition type in place of string
Co-Authored-By: Matthias Ahouansou <matthias@ahouansou.cz>
2024-08-22 19:03:32 +01:00
Matthias Ahouansou
00c9ef7b56 Merge branch 'send-invalid-pdu-correction' into 'next'
fix: don't fail the entire request if any PDU's format is invalid

See merge request famedly/conduit!709
2024-07-07 21:13:38 +00:00
Matthias Ahouansou
6455e918be fix: don't always assume ruma can generate reference hashes 2024-07-07 21:40:56 +01:00
Matthias Ahouansou
ea3e7045b4 fix: don't fail the entire transaction if any PDU's format is invalid 2024-07-07 21:40:37 +01:00
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
2024-07-06 17:31:31 +01:00
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
2024-07-06 17:06:11 +01:00
Matthias Ahouansou
1f313c6807 Merge branch 'finite-servername-cache' into 'next'
fix: don't cache server name lookups indefinitely

See merge request famedly/conduit!702
2024-07-01 09:52:18 +00:00
Matthias Ahouansou
e70d27af98 Merge branch 'timestamped-messaging' into 'next'
feat(appservice): support timestamped messaging

See merge request famedly/conduit!703
2024-07-01 09:36:14 +00:00
Matthias Ahouansou
ba8429cafe fix: don't cache server name lookups indefinitely 2024-07-01 10:17:01 +01:00
Matthias Ahouansou
62f1da053f feat(appservice): support timestamped messaging 2024-06-25 10:25:58 +01:00
Matthias Ahouansou
602c56cae9 chore: bump ruma 2024-06-25 10:10:53 +01:00
Matthias Ahouansou
fd19dda5cb ci: use nightly rustfmt
we were using this before, but it broke when refactoring the flake out into separate files
2024-06-16 17:28:05 +01:00
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)
2024-06-12 19:41:43 +02:00
Matthias Ahouansou
144d548ef7 fix: permission checks for aliases 2024-06-12 19:41:31 +02:00
Benjamin Lee
7b259272ce fix: do not return redacted events from search 2024-06-12 19:41:02 +02:00
Matthias Ahouansou
48c1f3bdba fix: userid checks for incoming EDUs 2024-06-12 19:39:27 +02:00
Matthias Ahouansou
ba2a5a6115 chore: bump all dependencies 2024-06-11 20:35:56 +01:00
Matthias Ahouansou
c45e52f45a Merge branch 'media-csp' into 'next'
fix(media): use csp instead of modifying content-type

See merge request famedly/conduit!689
2024-06-04 05:31:35 +00:00
Matthias Ahouansou
1dbb3433e0 fix(media): use csp instead of modifying content-type 2024-06-03 21:40:25 +01:00
Matthias Ahouansou
efecb78888 Merge branch 'local-event-non-restricted-room-vers' into 'next'
fix(membership): fallback to locally signed event if the join wasn't a restricted one on send_join response

See merge request famedly/conduit!680
2024-06-03 13:28:41 +00:00
Matthias Ahouansou
b46000fadc feat: recurse relationships 2024-06-03 13:42:52 +01:00
Matthias Ahouansou
ec8dfc283c fix(membership): fallback to locally signed event if the join wasn't a restricted one on send_join response 2024-05-31 16:37:06 +01:00
Matthias Ahouansou
3df791e030 Merge branch 'ruma-server-util' into 'next'
refactor: let ruma-server-util handle X-Matrix parsing

See merge request famedly/conduit!684
2024-05-29 13:16:08 +00:00
Matthias Ahouansou
9374b74e77 refactor: let ruma-server-util handle X-Matrix parsing 2024-05-29 12:27:37 +01:00
Matthias Ahouansou
c732c7c97f Merge branch 'toggle_allow_register' into 'next'
add command to set the allow registration status

See merge request famedly/conduit!477
2024-05-29 09:08:59 +00:00
Matthias Ahouansou
59d7674b2a fix: clarify that 3pids are currently unsupported 2024-05-29 09:36:35 +01:00
tony
6bcc2f80b8 add command to set the allow registration status
Co-Authored-By: Matthias Ahouansou <matthias@ahouansou.cz>
2024-05-29 09:25:08 +01:00
mikoto
a888c7cb16 OpenID routes
Co-Authored-By: Matthias Ahouansou <matthias@ahouansou.cz>
2024-05-28 15:39:19 +01:00
Timo Kösters
47aadcea1d Merge branch 'membership-reason-fixes' into 'next'
fix(membership): always set reason & allow new events if reason changed

Closes #452

See merge request famedly/conduit!669
2024-05-26 07:22:29 +00:00