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
strawberry
9b096cc67b
fix: check if you've left the room before forgetting it
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-06-02 23:53:31 -04:00
Jason Volk
b3fc8516ed
Fix unnested-or-patterns
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-02 12:34:05 -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
Jason Volk
6c1434c165
Hot-Reloading Refactor
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-05-21 20:22:17 -04:00
morguldir
9f19a2025d
Revert "feat(membership): check if user already has the membership that is requested to be set"
...
This reverts commit 321a6ca0fe
.
These checks were not working as intended, resulting in the unban button not working
The join check gets kept since it slightly reduces the amount of sent joins in some cases
This check will probably be replaced soon for a more universal solution to the "made no change" issue
Signed-off-by: morguldir <morguldir@protonmail.com>
2024-05-10 22:52:44 -04:00
strawberry
328502c1cd
dont send avatar url or display name for ban membership events
...
the display name or avatar may be offensive
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-09 17:44:15 -04:00
strawberry
d15e461303
config option to auto-remediate bad users joining bad rooms or servers
...
also forgets all rooms upon leave_all_rooms
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-09 17:44:15 -04:00
strawberry
321e197d8c
correct arithmetic adjustments
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-06 03:45:10 -04:00
strawberry
b5c0c30a5e
resolve half of the integer_arithmetic lints, couple misc changes
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-06 03:45:10 -04:00
strawberry
9931e60050
use single global function for server name local and user local checking
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-05-03 01:52:29 -04:00
strawberry
a81563244f
restricted room join typo
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-26 02:03:40 -04:00
Jason Volk
15a990dc25
improve various logging
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-26 02:03:40 -04:00
strawberry
1b41e35f1d
use HTTP 403 (forbidden) instead of HTTP 400 for membership failed auth checks
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-26 02:03:40 -04:00
strawberry
66bb88a03a
make everything pub(crate) instead of pub
...
conduwuit is not a library
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-26 02:03:40 -04:00
strawberry
8a767c4b10
on room alias joins, attempt to find the room ID through *more* servers if available
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-26 02:03:40 -04:00
strawberry
8ad42a85ef
dont eat the ?server_name=
param for join room by ID or alias
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-26 02:03:40 -04:00
strawberry
7300103796
check if user is allowed to invite for restricted room join
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
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
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
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
strawberry
839a89c968
remove some unnecessary loops
...
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
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
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
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
strawberry
a0ad911688
stop sending make_join requests after 50 failures
...
this is a very generous number
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-02 00:32:41 -04:00
strawberry
af6c72fa84
stop sending make_join if 15 servers responded with unsupported/invalid room version
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-04-02 00:32:41 -04:00
Jason Volk
4becbed2a7
refactor sending interface stack
...
Signed-off-by: Jason Volk <jason@zemos.net>
2024-03-30 22:06:18 -04:00
strawberry
48d1a3af3c
resolve the last few relevant pedantic clippy lints
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-30 22:06:18 -04:00
strawberry
868976a149
use chain_width 60
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-26 22:24:24 -04:00
strawberry
4be37fbe8d
only remove event_id field in room v1 and v2
...
no this doesnt make those rooms work,
just a why not thing
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-26 22:24:24 -04:00
strawberry
7bd56765ef
fix some more pedantic clippy lints
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-26 22:24:24 -04:00
strawberry
9d0b647911
resolve couple pedantic clippy lints, remove unnecessary qualifications
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-23 01:49:27 -04:00
strawberry
7066b7b428
feat: automatically join rooms on registration
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-23 01:49:27 -04:00
strawberry
496a9c7af8
resolve some pedantic lints, reduce some allocations
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
7c1624931d
remove various unnecessary qualifications
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
aedb5966fe
resolve nightly performance assigning_clones lint
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
Matthias Ahouansou
4ec2d3ecb5
refactor: use async-aware RwLocks and Mutexes where possible
...
squashed from https://gitlab.com/famedly/conduit/-/merge_requests/595
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
f419c64aca
add rustfmt.toml, format entire codebase
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
608aa83ed2
check if invited user is an admin before rejecting instead
...
i think this makes more sense tbh than what synapse does
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-03 22:20:37 -05:00
strawberry
34e8fd38cf
extend room banning to local+remote room invites
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-03 22:20:37 -05:00
strawberry
ea66bff46b
config option to block non-admin room invites
...
works just like block_non_admin_invites from synapse
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-03 22:20:37 -05:00
strawberry
e2c7afe69c
go through a ton of pedantic clippy lints
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-03 22:20:37 -05:00
strawberry
ca42ec338b
replace accidental unwraps with if let's
...
this provides not only some future compatibility with MSC4051,
but it just makes sense to not crash/error if we can't get a server_name
from the room ID and should just use the server_name from the sender
user's invite event. there is already code ahead that accounts for
an empty vector so this is safe.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-24 13:04:13 -05:00
strawberry
c9364dc077
dont evict admins from room, allow admins to join banned rooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-20 07:06:57 -05:00
strawberry
ed0c8e86f7
initial implementation of banning room IDs
...
takes a full room ID, evicts all our users from that room,
adds room ID to banned room IDs metadata db table, and
forbids any new local users from attempting to join it.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-20 07:06:57 -05:00