Commit graph

1969 commits

Author SHA1 Message Date
strawberry
daf6026a0a config: split at __ for struct sections of config, add couple missing settings for show-config
this makes `CONDUWUIT_WELL_KNOWN__CLIENT` a valid env variable config
option as it would normally exist under `[well_known.client]` in toml

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-02 21:22:39 -04:00
strawberry
8e71833c52 use function comments for lsp here
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-02 21:22:37 -04:00
strawberry
3fd4d5fc8e drop default appservice_timeout to 35 seconds
AS's are generally hosted on the same machine or within the same
network

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-02 17:00:54 -04:00
strawberry
6eb5220232 dont allow creating remote users in admin room
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-02 16:51:43 -04:00
strawberry
8cb2ea4ae1 adjust a couple error codes for room alias getting
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-02 15:08:55 -04:00
strawberry
6a450e8e94 fix: get the presence of the requested user instead of ourselves
after getting the shared rooms with the target user, we actually only
get the presence of ourselves instead of the requested user

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-02 04:19:17 -04:00
strawberry
3828a04007 add destination to X-Matrix Authorization outbound requests
we were already validating this for inbound requests

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-02 02:26:11 -04:00
strawberry
97ce09f4f8 dont return "Allocator" header for server memory-usage if empty
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 21:50:46 -04:00
strawberry
581798916a return more user-friendly message for debug memory-stats
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 21:45:30 -04:00
strawberry
ee95881545 refactor and simplify room creation route a bit
removes a couple unnecessary checks, uses our room_id ruma request field

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 16:53:34 -04:00
strawberry
7d486c3a00 remove this unnecessary log, use debug_warn
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 14:30:20 -04:00
strawberry
bf03e16c40 dedupe version getting code, rename to CONDUWUIT_VERSION_EXTRA
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 13:35:16 -04:00
strawberry
fc28bc9b7a lint
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 13:07:45 -04:00
Charles Hall
8a1b8b3d20 improve "Leave event has no state" log
To include the user, room, and event ID.

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 12:39:59 -04:00
strawberry
7bd0bff55b move hierarchy via servers higher up, add some debug logging to it
this entire thing needs to be cleaned up later, but i need spaces
to work

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 03:26:49 -04:00
strawberry
dafd300675 add workaround for room creation initial_state event content as {}, slight refactor
this will simply skip over the events

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 01:37:33 -04:00
Jason Volk
9ad552a8b6 rename / simplify tester stub for now
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 00:25:16 -04:00
Jason Volk
d844d2ac1a daily logging improvements
Signed-off-by: Jason Volk <jason@zemos.net>
2024-05-01 00:24:51 -04:00
Jason Volk
5eed383211 split http serving from main.
Signed-off-by: Jason Volk <jason@zemos.net>
2024-05-01 00:24:42 -04:00
Jason Volk
6c75a9c059 add configuration for rocksdb direct-io enablement
Signed-off-by: Jason Volk <jason@zemos.net>
2024-05-01 00:12:18 -04:00
strawberry
08311caf49 split up alias.rs a bit (alias checks and room alias server name stuff)
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 00:01:49 -04:00
strawberry
3891c1fc7b use ok_or_else instead of ok_or for backup.rs
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 00:00:56 -04:00
strawberry
ed09740ddb initialise capabilities with default constructor
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-01 00:00:22 -04:00
strawberry
7f0a4d861b dedupe half of account/room data config.rs code
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-30 21:33:02 -04:00
strawberry
b5674b2764 dedupe some code in state.rs
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-30 20:16:43 -04:00
strawberry
c98fbea8b1 partially revert this
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-29 17:53:19 -04:00
strawberry
4ee72326f9 add query_over_tcp_only config option for hickory
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-29 14:47:31 -04:00
strawberry
df7e8ff3d7 set AD bit to false in hickory
this is purely DNSSEC related which we don't use, and DNSSEC on matrix
is unbearable for federation (no one sets it up properly, it's extremely taxing, etc)

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-29 14:31:10 -04:00
strawberry
1611614ebe add ip_lookup_strategy config option for hickory resolver
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-29 14:25:11 -04:00
strawberry
1f4db11cec tiny refactoring, split out report_event_route a bit
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 22:36:39 -04:00
strawberry
c8037abcb0 cargo doc lints
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 20:57:32 -04:00
strawberry
8fd562c6cb hot lib things again
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 19:55:53 -04:00
strawberry
3c4d09f4f2 document hot_lib for developers a bit
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 18:55:28 -04:00
strawberry
e3a2f9aae9 slight misc adjustments
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 18:30:19 -04:00
strawberry
5320a8f6eb add (probably messy) support for hot lib reload via admin command
`!admin test test1`

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 18:29:48 -04:00
strawberry
70f5336620 use user_is_local and server_is_ours more, remove few double filters
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 13:18:09 -04:00
strawberry
036c1195c4 resolve ptr_as_ptr lint
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 11:48:06 -04:00
strawberry
2f0c2a36dd use single global function for server name local and user local checking
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 11:35:25 -04:00
strawberry
9697bcc1d4 use <pre> for codeblock formatting in jemalloc stats, link to ffi func
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-28 11:21:00 -04:00
Jason Volk
40cf7ea139 fix mallctl suite lints
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-28 11:21:00 -04:00
Charles Hall
64551db9ea run clippy on default, all, and allocator features
This way all 4 major configurations are linted.
2024-04-28 11:21:00 -04:00
Charles Hall
9e8bc9b72b handle the case where 0 or >1 allocs are enabled
In particular this fixes `cargo build --all-features`.
2024-04-28 11:21:00 -04:00
Charles Hall
90f4c4c4aa fix lints 2024-04-28 11:21:00 -04:00
Jason Volk
60c9b73cb3 start mallctl suite w/ jemalloc stats
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-27 16:22:04 -04:00
Jason Volk
2c9ba7a716 cleanup admin worker loop
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-27 16:18:40 -04:00
Jason Volk
2569b46dbb add admin server uptime command
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-27 16:10:58 -04:00
Benjamin Lee
5e50c2803b add config option tracing_flame_output_path
Hardcoding the output path to something in CWD is a pain if you're running
conduwuit through systemd or similar. Also made the error message when
it's unable to create the output file a little more friendly.
2024-04-27 14:33:13 -04:00
Benjamin Lee
1621048199 flush tracing-flame output file on exit
Previously we were dropping the flush guard early, possibly causing
samples to be lost on exit.
2024-04-27 14:33:13 -04:00
Benjamin Lee
88725c479e add tracing_flame_filter config option
The previous hardcoded filter `trace,h2=off` isn't appropriate in all
cases, it's better to have this be configurable.
2024-04-27 14:33:13 -04:00
Benjamin Lee
c3202258c5 keep stdout logs when tracing-flame/jaeger is enabled
Previously, enabling the `tracing_flame` or `allow_jaeger` options would
prevent any logs from being written to stdout. In addition, enabling the
`allow_jaeger` option would inhibit the `tracing_flame` option.

Now that we have a way to use separate tracing filters with different
layers, we can enable all three at the same time without issues.

This commit also prevents the `debug log_level` command from modifying
the `tracing-flame` filter. This was supported previously, but I don't
think it's something that you would ever want to do intentionally. Now
that we have both the normal log filter and the `tracing-flame` filter
enabled at the same time, we want to `debug log_level` to only modify the
normal filter.
2024-04-27 14:33:13 -04:00