strawberry
3981e77ec6
check user ID server against ACLs for /make_join
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
81bf4b7150
check user ID server against ACLs for /make_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
b8ec763a7c
ignore read receipts from ACL'd servers and users not joined
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
003d4edbfa
debug log receiving typing EDUs for users not in room
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
4f0006d18a
ignore typing EDUs from ACL'd user's servers
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
b822e3a94c
listen on IPv6 localhost by default
...
this is dual-stack by default on linux, resolves
issues with nginx using `localhost` and randomly
choosing between 127.0.0.1 and [::1], causing
intermittent upstream issues
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
68fffe8e96
check room ACLs on sender user's server for incoming PDUs
...
`handle_incoming_pdu`
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
7328ed7509
rename misleading sender_servername to origin
...
this is the X-Matrix origin/server, NOT the `"sender"``
user's server name.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
Benjamin Lee
6ccf578437
bump rocksdb input
...
Nedded to pull in [1], which is rared for dynamic rocksdb builds with
liburing.
[1]: c8a1450231
2024-05-27 04:54:57 -04:00
Benjamin Lee
8a1848a814
Revert "nix: default output to scopeHostStatic instead of scopeHost"
...
This reverts commit a37b2b9e64 .
Dynamic builds are working again, so we'd prefer having that be the
default output for consistency with nixpkgs.
2024-05-27 04:54:57 -04:00
Benjamin Lee
b4cd8e9140
fix dynamic builds with liburing
...
The original implementation of this was really weird, so I restructed it
a lot while debugging, and am just gonna leave the restructured version.
Root cause of the segfault seems to be that upstream nixpkgs liburing
derivation is generating both static and dynamic libraries, causing
rocksdb to statically link liburing in a dynamic build, pulling in some
allocator stuff at the same time. I created a PR[1] to fix this upstream,
but it probably won't be available on nixos-unstable for quite a while,
so we can also patch it locally.
[1]: https://github.com/NixOS/nixpkgs/pull/314945
2024-05-27 04:54:57 -04:00
Benjamin Lee
a08f90b161
add a smoke-test to CI for the nix 'default' output
...
I talked to somebody yesterday in #conduwuit:puppygock.gay that was using
this output in their system config. The dynamically-linked jemalloc build
is quite fragile, and is not tested by anything else in CI. We want to
make sure we don't break it again in the future.
2024-05-27 04:54:57 -04:00
Benjamin Lee
207979579c
fix dynamically linked devshell
...
This failed to inherit the fix from bec507d7390dda9ca2e624ef846521a20e2252c7
because the crane package's buildInputs become propagatedBuildInputs in
a static stdenv, but become normal buildInputs in a dynamic stdenv. Since
we were only pulling propagatedBuildInputs into the devshell, dynamically
linked devshells did not include the rust-jemalloc-sys package. This
causes tikv-jemalloc-sys to build it's own static jemalloc package, and
we end up loading libc before jemalloc at runtime.
2024-05-27 04:54:57 -04:00
Benjamin Lee
68b96026ec
unmark dynamically-linked jemalloc builds as broken
...
It turns out that this was actually fixed by
bec507d7390dda9ca2e624ef846521a20e2252c7 and
857ac42aacf430f14a9b7108591cea91185af8b3, but we didn't identify it at the
time. Notably, the `dynamic` devshell is still broken.
2024-05-27 04:54:57 -04:00
strawberry
30beb20230
conditionally static link rust-rocksdb-uwu by hot reload cfg
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
19e7779693
update complement test results
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
6269822613
actually fix all let_underscore_must_use lints
...
CI caught some more
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
0877ee6191
allow let underscore use lint for rocksdb create cf for now
...
the workaround needs to be extended to rocksdb caches, but
i dont know that part of code
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
a37b2b9e64
nix: default output to scopeHostStatic instead of scopeHost
...
defaults to static builds instead of dynamically linked builds
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
29fe960efa
bump hyper-util and libz-sys
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
6bf2e73830
ci: run cache dependencies in ci.yml as well
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
630760b5da
bump rocksdb to v9.2.1
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
61e7f1e614
remove rpath = true from dev profile as the rustflags have it
...
needed for hot reloading but rpath being true by default
causes linker errors on lld because of the sad rpath bug
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
7ebed7aa3e
clarify disable-room message after banning room
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
ad3eeaf4c1
delete audit.toml
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
5215fbe695
drop redaction calculated hash log to debug_info
...
this is normal redactions. no valid reason this needs to be
warn as it just causes confusion.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
dc9fe657d5
fix guest accounts being logged still
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
1c7c5bc09c
feat: add /_conduwuit/local_user_count endpoint
...
only enabled if federation is enabled
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
32161801ed
use/enable let_underscore_must_use lint
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
71bdcb958a
fix: dont drop remote federation error on 4xx responses
...
for a very long time, if a remote server responded to us with
a valid but unsuccessful (HTTP 4xx) response and the caller was the
`send_federation_request` function, we may find ourselves
with a warning message only containing the destination's
server name which was very unhelpful. the true error was
buried away in trace logs. this would primarily be noticed
with server key fetch requests from us.
conduit has been throwing away the ruma request error: https://gitlab.com/famedly/conduit/-/blame/next/src/utils/error.rs#L62
before: 2024-05-23T04:45:02.930224Z WARN router:{path=/_matrix/client/v3/publicRooms}:handle: conduit_api::client_server::directory: Failed to return our /publicRooms: matrix.org
after: 2024-05-23T05:05:02.435272Z WARN router:{path=/_matrix/client/v3/publicRooms}:handle: conduit_api::client_server::directory: Failed to return our /publicRooms: matrix.org: [401 / M_UNAUTHORIZED] Failed to find any key to satisfy: _FetchKeyRequest(server_name='your.server.name', minimum_valid_until_ts=1716440702337, key_ids=['ed25519:RQB3XPQX'])
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
d3db0ad4e2
renovate: label PRs as dependencies and github_actions
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
e098448b9d
init a few vecs in event_handler using with_capacity
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
d49507bc21
media: decomplexify get_all_media_keys for deleting all MXC URIs
...
wow this was terrible, early strawberry code
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
cb73ae3732
add registration token validity endpoint as per matrix 1.2
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
06bec40591
fix: add missing fetch_required_signing_keys for remote send_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
9a7ba94ccf
explicity define unstable support for sliding sync
...
this matrix-react-sdk PR (and the cited sliding sync MSC)
says that they will intend on checking sliding sync support
from this unstable feature flag at /versions until the CORS
header stuff is specced
https://github.com/matrix-org/matrix-react-sdk/pull/12498
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
2990c30ac9
nix: bump rocksdb input
...
• Updated input 'rocksdb':
'github:girlbossceo/rocksdb/db6df0b185774778457dabfcbd822cb81760cade' (2024-05-03)
→ 'github:girlbossceo/rocksdb/be68b3c95ccd225f3121ba33a67cfaf3c3596afc' (2024-05-23)
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
d9c575d96f
bump deps
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
c32406aa0e
replace deprecated config option for complement
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
03d12cb44e
update docs a tad
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
bef7dbd1cb
finally error on complement diff mismatch, remove jemalloc builds from
...
CI
jemalloc is now a default feature
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
08577873b4
update complement test results
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
a3931b0f1f
nix: bump flake.lock
...
• Updated input 'crane':
'github:ipetkov/crane/27025ab71bdca30e7ed0a16c88fd74c5970fc7f5' (2024-05-09)
→ 'github:ipetkov/crane/7443df1c478947bf96a2e699209f53b2db26209d' (2024-05-19)
• Updated input 'fenix':
'github:nix-community/fenix/297c756ba6249d483c1dafe42378560458842173' (2024-05-10)
→ 'github:nix-community/fenix/063d7e5fac454edd35b7e2cedb6ca9fb1410c79b' (2024-05-21)
• Updated input 'fenix/rust-analyzer-src':
'github:rust-lang/rust-analyzer/5bf2f85c8054d80424899fa581db1b192230efb5' (2024-05-09)
→ 'github:rust-lang/rust-analyzer/21ec8f523812b88418b2bfc64240c62b3dd967bd' (2024-05-19)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/f1010e0469db743d14519a1efd37e23f8513d714' (2024-05-09)
→ 'github:NixOS/nixpkgs/3eaeaeb6b1e08a016380c279f8846e0bd8808916' (2024-05-21)
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
ba2f22b5d3
nix: remove jemalloc (now default) targets, add jq input for default
...
jq input change was from 17eb354590
to prevent unnecessary bindgen rebuilds
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
0914aaa1b6
skip a few known flaky/unreliable complement tests
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
f3427afc7f
nix: use new public keys for binary caches due to attic issues
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-24 18:13:02 -04:00
morguldir
9aa372d83b
nix: Allow excluding features, allow disabling release_max_log_level
2024-05-24 15:12:23 -04:00
morguldir
5893901a75
Explicitly include snappy as well
...
Not sure what changed that we need this
Signed-off-by: morguldir <morguldir@protonmail.com >
2024-05-24 12:46:15 -04:00
morguldir
8ba9b33a95
Make sure we use the liburing of the platform we're building for
...
Signed-off-by: morguldir <morguldir@protonmail.com >
2024-05-24 12:46:15 -04:00
morguldir
70047ff26d
Make rocksdb include liburing, and tell gcc the path during the build
...
With: strings /nix/store/9skicdac6xs4yww1nd3h7m6xydv4hxlj-rocksdb-9.1.1/lib/librocksdb.so.9|rg io_uring|wc -l
112
With: strings result/bin/conduit |rg io_uring|wc -l
5
Without: strings static-x86_64-unknown-linux-musl-jemalloc |rg io_uring | wc -l
0
Signed-off-by: morguldir <morguldir@protonmail.com >
2024-05-24 12:46:15 -04:00