Matthias Ahouansou
19e4befcb8
feat(appservice): ensure users/aliases outside of namespaces are not accessed
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-17 14:51:08 -04:00
strawberry
641399e900
dont auto join rooms if registrations are from appservices
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-17 14:51:08 -04:00
strawberry
c5c8934db7
default to shared room history visibility if invalid (per spec)
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-17 14:51:08 -04:00
Jason Volk
33cc3d56c1
lazy-construct presence; avoids useless db queries in sender and syncer.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-17 14:51:08 -04:00
strawberry
97c63604fd
"global" ACLs config option, block room directory requests to forbidden servers
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-17 14:51:08 -04:00
Matthias Ahouansou
59be0b3ddc
sync upstream token/appservice auth code
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-17 14:51:08 -04:00
strawberry
527a5cbd73
don't allow moderators dangerous permissions, fix pl 100 state_default
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 23:05:26 -04:00
strawberry
d1c139de26
add config option for url_preview_domain_explicit_denylist
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
Jason Volk
cdb2dff7dd
federation incoming logging/tracing related
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-14 22:35:23 -04:00
Jason Volk
dba0575e75
some optimizations to get_auth_chain()
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-14 22:35:23 -04:00
Jason Volk
c4ebc2f1d1
fix double-deserialization in federation transaction handler.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-14 22:35:23 -04:00
strawberry
878dcd71bb
fix invalid database code for servers_invite_via
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
59ba3e3190
only allow admins to send room state events by default (e.g. ACLs)
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
27f8c5b63d
don't debug log device display name for guest registrations
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
eceef5efa2
add config option for allowing guests to auto join rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
d95c02f575
add config option for logging guest regs in admin room
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
f263630ac1
fix: use path_and_query()
for "uri"
in request_map for signatures
...
resolves X-Matrix signatures being invalid in some edge-cases,
and fixes Complement/Sytest federation tests
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
168858c8de
port room directory auth to new auth stuff
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
Matthias Ahouansou
a0b65eda1e
merge the huge authentication MR mess (reject requests with authentication when not used)
...
and (fix: allow invalid auth when no auth is required)
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
Matthias Ahouansou
8eda3be9ce
disable federation at the router level too
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
0d21d70d4a
remove two unnecessary matches
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
e5307d44ca
log error for /publicRooms requests, simplify it a bit
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
Matthias Ahouansou
2d4877f9a5
feat(federation): implement /make_leave and /send_leave
...
also fixed some clippy lints, and added "event_id" field
removal check for room v1 and 2
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
bfa68e7bc5
refactor well-known stuff to use proper ruma types, config types, etc
...
this does deprecate the original `well_known_` prefixed config options
with a dedicated/proper config sub-block (`[config.well_known]`)
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
strawberry
993c0102d9
add unstable support for MSC4125
...
from https://gitlab.com/famedly/conduit/-/merge_requests/626 with code fixes and clippy lint fixes
MSC4125: https://github.com/matrix-org/matrix-spec-proposals/pull/4125
Co-authored-by: Matthias Ahouansou <matthias@ahouansou.cz>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-14 22:35:23 -04:00
Jason Volk
2cc72de80e
fix lossy origin regression 12a8c9badd
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-09 15:26:45 -04:00
strawberry
839a89c968
remove some unnecessary loops
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
strawberry
40596634c4
respond with actual servers for /_matrix/federation/v1/query/directory
requests instead of just us
...
aka be spec compliant
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
strawberry
973fed155e
config option to allow/disallow federation profile requests
...
allow_profile_lookup_federation_requests
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
strawberry
85814e96e3
implement unstable MSC2666 support for querying mutual rooms
...
https://github.com/matrix-org/matrix-spec-proposals/pull/2666
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
strawberry
9be072181c
remove unneeded url preview function
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
strawberry
c82c548cbf
bump ruma and cargo.lock
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
strawberry
39946beda8
add server-side support for /.well-known/matrix/support
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
Matthias Ahouansou
c946352e7f
fix(sync): send phoney leave event where room state is unknown on invite rejection
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
Matthias Ahouansou
3b5794b5bd
fix(membership): check if server is in room to decide whether to do remote leaves
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
Matthias Ahouansou
6078b5ee9d
fixup! feat: support /make_join and /send_join for restricted rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-09 15:26:45 -04:00
strawberry
2516d44cb1
dont 404 and respond+update with default push rules if non-existent
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
strawberry
e4a987cf80
bump ruma and declare support for unstable MSC3026 (busy presence state)
...
a938640491
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
strawberry
db8e7e5382
TEMP: remove user_is_invited stuff
...
this is clearly unfinished right now
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
Matthias Ahouansou
321a6ca0fe
feat(membership): check if user already has the membership that is requested to be set
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
Jason Volk
ebb71b7d7c
add contains_url filter to /messages; also split out visibility filter.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-05 22:15:16 -04:00
Jason Volk
cde06125b8
immutable cache-control for media
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-05 22:15:16 -04:00
Jason Volk
ca1c77d76b
refactor presence to not involve rooms.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-05 22:15:16 -04:00
Matthias Ahouansou
5c30d2b2b0
fix(membership): perform stricter checks when choosing an authorized user
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
Matthias Ahouansou
68e64392f0
fix(membership): remove join_authorized_via_users_server field on state update
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
strawberry
c803891634
better event_type checks for send_state_event_for_key_helper
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
strawberry
0214caeaea
always allow count
to be filled in search response
...
i fail to see any reason why we would always want
this to be None
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
strawberry
a2ee6b410e
add another element_hacks feature check
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
strawberry
ab0182ace4
check if user is allowed to invite for join_authorized_via_users_server
in join_room_by_id_helper
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00
strawberry
ddcf43f1b8
replace ErrorKind::Forbidden
with forbidden()
non-exhaustive constructor
...
917584e0ca
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-05 22:15:16 -04:00