Jason Volk
8b6018d77d
de-global services() from api
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-27 07:54:03 +00:00
strawberry
405167fc3f
add harmless check for presence PUT matching sender user
...
this is already done but we just don't error and always
use the sender user. match synapse behaviour where we check
and error.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-24 01:41:25 -04:00
Jason Volk
4430e4dee0
de-global some services()
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-16 02:39:49 +00:00
Jason Volk
d67f19a55d
cleanup some error callsites
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-16 02:39:49 +00:00
Jason Volk
167559bb27
rename FileMeta::file to Option<content>
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-16 02:39:49 +00:00
Jason Volk
038b71fc9d
add state to router
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-16 02:39:49 +00:00
Jason Volk
720fbd09c2
move routes into api router top level
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-16 02:39:49 +00:00
strawberry
7009f56a7a
fix user directory publishing access controls
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-14 12:06:52 -04:00
Jason Volk
05efd9b044
elaborate error macro and apply at various callsites
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-14 11:31:39 +00:00
Jason Volk
b3f2288d07
add constant-expression string utils
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-14 11:31:39 +00:00
Jason Volk
b8baa1223d
reduce RoomVersionId patterns
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-14 11:31:39 +00:00
Jason Volk
b87f1649d4
split error into directory
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-14 11:31:39 +00:00
Jason Volk
4cc92dd175
refactor Error::bad_config
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-14 11:31:39 +00:00
Jason Volk
0627b46f40
add panic suite to Error
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-13 21:20:05 +00:00
Jason Volk
271f720286
move mutex maps out of globals into respective service
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-13 21:20:05 +00:00
Jason Volk
2d251eb19c
cleanup on drop for utils::mutex_map.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-13 21:20:05 +00:00
Jason Volk
5dcdafe207
take local join branch when remote join would fail
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-13 21:20:05 +00:00
Jason Volk
c62d653989
tweak some log levels
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-13 21:20:05 +00:00
Jason Volk
454dd43d4c
fix membership route ABA's
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-13 21:20:05 +00:00
strawberry
b5d4a1c1b0
drop harmless state event not found message to debug_info
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
strawberry
aa9540af21
slightly simplify send_state_event route
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
strawberry
0fa6976d86
add client IP and user logging on join, remove unnecessary Option
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
strawberry
93e7cf461d
add client IP logging to media requests
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
strawberry
efea13a675
add access control checks for room directory publishing/removing
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
strawberry
373991a8d6
cleanup and fix backfill from server getting
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
strawberry
83e853e7a3
add "unstable" endpoint legacy Element Android/iOS seems to call
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
strawberry
1c453b1b55
require authentication on change password and deactivation routes
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-10 22:00:46 -04:00
Jason Volk
158de10fe6
log erroring errors; improve inspection functors.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-09 04:09:34 +00:00
Jason Volk
a43c78e55f
add RumaError to Error; encapsulate RumaResponse in api
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-09 03:38:07 +00:00
Jason Volk
7ba0777bd3
move RumaResponse out of core Error; cleanup Error conversions.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:10 +00:00
Jason Volk
51df946911
de-branch duration limit statement
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:10 +00:00
Jason Volk
23a9055199
relax and de-clutter let_underscore_must_use
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:10 +00:00
Jason Volk
100c6f572b
trim unused dependencies in member crates
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:10 +00:00
Jason Volk
113a27c1d5
use usize for max_request_size config item
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:09 +00:00
Jason Volk
5722c4ae39
fix needless collect
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:09 +00:00
Jason Volk
dcd7422c45
fix as conversions
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:09 +00:00
Jason Volk
52a561ff9e
abstract expoential backoff to math utils.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-08 22:02:09 +00:00
Jason Volk
e125af620e
impl crate::Service for Service
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-04 21:06:35 +00:00
Jason Volk
0cea64309a
move PduEvent from services to core
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-04 21:06:35 +00:00
strawberry
0832c28a40
dedupe some state accessors in various places
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-03 22:12:47 -04:00
strawberry
b0eec60724
add MSC3266 room summary API support
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-03 22:12:47 -04:00
strawberry
deca2c52c6
switch to ruma's X-Matrix parser
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-03 11:30:16 -04:00
strawberry
1a64e42cfe
add /openid/request_token and /openid/userinfo routes
...
heavily changed and improved by me
Co-authored-by: mikoto <avdb@keemail.me>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-03 11:30:11 -04:00
Jason Volk
df0328f43f
split send txn handler
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-03 06:34:16 +00:00
Jason Volk
6dd6e4bfaf
simplify cork interface related
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-07-03 06:34:16 +00:00
strawberry
28ac3790c2
sync upstream spaces/hierarchy federation MR
...
also had to fix a million clippy lints
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
Co-authored-by: Matthias Ahouansou <matthias@ahouansou.cz>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-02 21:20:28 -04:00
strawberry
652faafe6e
bump ruma
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-02 16:46:19 -04:00
strawberry
bb27f21ac1
simplify getting join_authorized_via_users_server for make/send_join, remove unnecessary async
...
Co-authored-by: Matthias Ahouansou <matthias@ahouansou.cz>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-02 15:32:40 -04:00
strawberry
339a1fc4e8
only sign /send_join events if restricted join via room version and join_authorised_via_users_server
...
Co-authored-by: Matthias Ahouansou <matthias@ahouansou.cz>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-02 15:01:11 -04:00
strawberry
75731671d1
use RoomMemberEventContent
for send_join/send_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-02 14:46:53 -04:00
strawberry
792d4aa6ce
fix nightly clippy lint
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-07-01 00:14:16 -04:00
Jason Volk
fa02d7b7e3
diffuse get_alias_helper into services::rooms::alias
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-30 18:02:16 +00:00
Jason Volk
96a16190c5
mute dev_release_log_level from --all-features for now
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-30 18:02:16 +00:00
Jason Volk
c05f00661b
use extern namespace in log wrapper macros
...
convert use tracing statements
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-30 18:02:16 +00:00
Jason Volk
3a51e18ce6
pre-format version strings
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-30 18:02:16 +00:00
Jason Volk
57acc4f655
fix needless pass by value
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-30 18:02:16 +00:00
Jason Volk
213a6d441f
shorten several request span names.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-18 10:56:19 +00:00
Jason Volk
1c0ed91f6f
rename ruma_wrapper to router
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-17 05:04:00 +00:00
Jason Volk
64705fa27d
rename router to routes
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-17 05:04:00 +00:00
Jason Volk
30e7298dd7
fix doc-lazy-continuation
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-16 07:24:51 +00:00
Jason Volk
3813628acd
log full custom edu rather than just content
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-16 03:07:59 +00:00
Jason Volk
08bf074cbb
reduce roomid_mutex_state
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-14 22:09:55 +00:00
Jason Volk
539aa27815
reduce roomid_mutex_federation
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-14 22:09:55 +00:00
Jason Volk
22272bdc16
reduce roomid_mutex_insert
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-14 22:09:55 +00:00
Jason Volk
571ab6ac2b
admin terminal console
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-13 03:33:24 +00:00
strawberry
8fff7ea706
cleanup+refactor admin room alias and server account accessing to globals
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-12 14:04:47 -04:00
Matthias Ahouansou
f712c0cefb
fix: restrict who can remove aliases
...
Previously, anyone could remove any local alias, meaning that someone could re-route a popular alias elsewhere
Now, only the creator of the alias, users who can set canonical aliases for the room, server admins and the server user can delete aliases
added some additional changes/fixes to adapt to our codebase
Co-authored-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-12 14:04:47 -04:00
Benjamin Lee
0688a96c37
drop redacted events from search results
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-12 14:04:47 -04:00
Benjamin Lee
81cd677b4e
fix dropped events in search
...
The previous code would drop some events entirely if any events between
`skip` and `skip + limit` were not visible to the user. This would cause
the set of events skipped by the `skip(skip)` method to extend past
`skip` in the raw result set, because `skip(skip)` was being called
*after* filtering out invisible events.
This bug will become much more severe with a full filtering
implementation, because it will be more likely for events to be filtered
out. Currently, it is only possible to trigger with rooms that have
history visibility set to "invited" or "joined".
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-12 14:04:47 -04:00
Benjamin Lee
73da353e52
fix missing next_batch for search
...
The previous code would fail to return next_batch if any of the events
in the window were not visible to the user. It would also return an
unnecessary next_batch when no more results are available if the total
number of results is exactly `skip + limit`.
This bug will become much more severe with a full filtering
implementation, because we will be more likely to trigger it by
filtering out events in a search call. Currently, it is only possible to
trigger with rooms that have history visibility set to "invited" or
"joined".
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-12 14:04:47 -04:00
strawberry
ea03a50e21
remove pfps/avatars and display names upon deactivation
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-11 01:19:18 -04:00
strawberry
25d44cad31
slightly dedupe pfp/displayname updates, update blurhash in PDUs too
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-11 01:19:18 -04:00
strawberry
91519959ed
mark account as deactivated before leaving rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-11 01:19:18 -04:00
strawberry
f1d90e5df6
log client/remote IP address on various routes tracing calls
...
this uses InsecureClientIp as this is purely for informational
and logging purposes
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-10 21:04:51 -04:00
strawberry
fcdf1463ef
refactor get_room_topic
into 1 single function
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-10 19:45:04 -04:00
strawberry
88d038ffec
refactor getting room's canonical alias into 1 function
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-10 19:45:04 -04:00
strawberry
4b4c0952a2
refactor guest_can_join
into 1 single function
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-10 19:45:04 -04:00
strawberry
1287a86c05
client-api: export validate_and_add_event_id
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-10 19:45:04 -04:00
strawberry
8210e8c42e
slightly adjust sliding sync code for ruma bump
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-10 17:20:59 -04:00
strawberry
cb03654dc1
fix broken federated room invites/joins
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-10 14:53:26 -04:00
Jason Volk
f52acd9cdf
Fix idiomatic let if
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-09 20:06:50 +00:00
Jason Volk
eae41fc411
Fix use-self
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-09 20:06:50 +00:00
Jason Volk
a8de5d1e60
Fix futures not Send
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-09 20:06:50 +00:00
Jason Volk
89d7d48324
Fix equatable if let
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-09 20:06:50 +00:00
Jason Volk
fc1b8326e6
split join_room_by_id_helper into local and remote
...
prior stack frame allocated 180 KiB
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-09 20:06:50 +00:00
strawberry
a04ff7d4af
fix(fed): dont reject /state_ids/
on world readable rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:10:00 -04:00
strawberry
10dfbf6420
fix(fed): dont reject /state/
on world readable rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:10:00 -04:00
strawberry
d10bc67c9d
fix(fed): dont reject /event_auth/
on world readable rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:10:00 -04:00
strawberry
197a02bf8d
fix(fed): dont reject /event/
on world readable rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:10:00 -04:00
strawberry
8103bd7310
fix(fed): dont reject /backfill/
on world readable rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:10:00 -04:00
strawberry
81487e3f07
fix(fed): dont reject /get_missing_events
on world readable rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:10:00 -04:00
strawberry
bfbb29dded
add is_world_readable
state_accessor func, use self
instead of services()
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:10:00 -04:00
strawberry
1cc7cf54a7
add config option to allow guests to access TURN server
...
`turn_allow_guests`
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-07 15:09:59 -04:00
Jason Volk
3ada847570
extract client ip from connection state
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-07 02:00:28 +00:00
Jason Volk
aebae11c82
reintroduce the variadic macro for ruma handler.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-07 02:00:28 +00:00
Jason Volk
f871d8fd4e
move impl FromRequest for Ruma up one level; some cleanup
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-07 02:00:28 +00:00
Jason Volk
73718a1208
elminate generic argument in ruma_wrapper::auth
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-06 18:21:40 +00:00
Jason Volk
f32380772f
rename api::client_server to api::client
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-06 18:21:40 +00:00
Jason Volk
3af153f5ae
split s2s into units
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-06 04:41:27 -04:00
strawberry
b781771a9b
media: drop Content-Type detection support
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-05 16:33:53 -04:00