Matthias Ahouansou
d8badaf64b
fix(membership): always set reason & allow new events if reason changed
2024-05-05 15:28:18 +01:00
Matthias Ahouansou
256dae983b
chore: bump rust
...
and fix new lints that come with it
2024-05-05 13:27:56 +01:00
Matthias Ahouansou
9db1f5a13c
fix(admin): don't allow creation of remote users
2024-05-02 10:45:04 +01:00
Matthias Ahouansou
0074aca0ef
Merge branch '244-support-well-known' into 'next'
...
feat: add .well-known support
Closes #244 and #378
See merge request famedly/conduit!332
2024-05-02 09:35:14 +00:00
Jakub Kubík
c1f695653b
feat: support hosting .well-known from Conduit
...
Co-authored-by: Matthias Ahouansou <matthias@ahouansou.cz>
2024-05-02 09:26:43 +01:00
Matthias Ahouansou
e6b6cc77d1
Merge branch 'verify-x-matrix-destination' into 'next'
...
feat(auth): check if X-Matrix destination is correct if present
Closes #271
See merge request famedly/conduit!661
2024-05-02 07:15:20 +00:00
Matthias Ahouansou
b69a74961b
Merge branch 'x-matrix-destination-header' into 'next'
...
feat(federation): add destination field to X-Matrix header
See merge request famedly/conduit!660
2024-05-02 06:59:52 +00:00
Matthias Ahouansou
63ba157ef6
feat(auth): check if X-Matrix destination is correct if present
2024-05-02 07:14:44 +01:00
Matthias Ahouansou
dfe2916357
feat(federation): add destination field to X-Matrix header
2024-05-02 07:01:04 +01:00
Matthias Ahouansou
df0ad2d07c
fix(appservices): don't forward events relating to remote users, and forward events relating to remote aliases
2024-04-27 20:41:28 +01:00
Ossi Herrala
aff97e4032
Update image crate
2024-04-27 11:15:04 +03:00
Ossi Herrala
a56139549f
Trust-DNS has been renamed to Hickory-DNS
2024-04-27 11:14:59 +03:00
Timo Kösters
7c83372336
Merge branch 'exclusive-namespace-error' into 'next'
...
feat(appservice): ensure users/aliases outside of namespaces are not accessed
See merge request famedly/conduit!634
2024-04-24 21:39:20 +00:00
Matthias Ahouansou
74db555336
fix(membership): perform stricter checks when choosing an authorized user
2024-04-24 20:54:07 +01:00
Timo Kösters
08636ef236
Merge branch 'can-invite-state-lock' into 'next'
...
fix(state-accessor): hold the state_lock when checking if a user can invite
See merge request famedly/conduit!643
2024-04-24 19:29:01 +00:00
Matthias Ahouansou
3086271139
feat(appservice): ensure users/aliases outside of namespaces are not accessed
2024-04-24 19:51:28 +01:00
Matthias Ahouansou
e40aed3a7d
fix(state-accessor): hold the state_lock when checking if a user can invite
2024-04-24 19:17:00 +01:00
Timo Kösters
53d3f9ae89
Merge branch 'registration-token-in-config' into 'next'
...
add registration_token in default cfg and DEPLOY
See merge request famedly/conduit!557
2024-04-24 18:09:47 +00:00
Timo Kösters
7ace9b0dff
Merge branch 'check-if-membership-is-case-endpoints' into 'next'
...
feat(membership): check if user already has the membership that is requested to be set
See merge request famedly/conduit!622
2024-04-24 18:02:08 +00:00
Timo Kösters
624654a88b
Merge branch 'fix-unrejectable-invites' into 'next'
...
Fix unrejectable invites
Closes #418
See merge request famedly/conduit!623
2024-04-24 18:01:48 +00:00
Timo Kösters
461236f3fb
Merge branch 'room-v11' into 'next'
...
Add support for room v11
Closes #408
See merge request famedly/conduit!562
2024-04-24 10:48:12 +00:00
Matthias Ahouansou
1c4ae8d268
fix(redaction): use content.redacts when checking v11 events
2024-04-24 10:52:33 +01:00
Valentin Lorentz
89c1c2109c
Link to the specification from user_can_redact's documentation
2024-04-24 08:29:47 +02:00
Matthias Ahouansou
00d6aeddb6
refactor(redactions): move checks inside conduit
...
ruma was already accidentally performing these checks for us, but this shouldn't be the case
2024-04-23 23:05:27 +01:00
Matthias Ahouansou
6c9c1b5afe
fix(appservices): don't perform identity assertion when auth is optional
2024-04-22 10:33:12 +01:00
Timo Kösters
1474b94db6
Merge branch 'disable-federation-router' into 'next'
...
refactor: disable federation at the router level
See merge request famedly/conduit!629
2024-04-20 20:28:52 +00:00
Charles Hall
e19e6a4bff
Merge branch 'default-room-version-10' into 'next'
...
chore(config): bump default room version to v10
See merge request famedly/conduit!628
2024-04-20 18:47:56 +00:00
Matthias Ahouansou
4b288fd22f
chore: remove default database backend
...
has been sqlite for far too long, and having a default for this is just asking for trouble
2024-04-18 20:49:50 +01:00
Valentin Lorentz
2d8c551cd5
Fix doc
2024-04-17 19:41:38 +02:00
Valentin Lorentz
eb6801290b
Document copy_redacts
2024-04-17 19:37:32 +02:00
Matthias Ahouansou
7a7c09785e
feat(pdu): copy top level redact to content and vice versa
2024-04-17 19:34:36 +02:00
Matthias Ahouansou
54e0e2a14c
fix(appservices): don't use identity assertion on account management endpoints
2024-04-15 19:16:18 +01:00
Matthias Ahouansou
475a68cbb9
refactor: disable federation at the router level
2024-04-13 10:39:32 +01:00
Matthias Ahouansou
92817213d5
Add missing import
2024-04-12 05:15:37 +00:00
Matthias Ahouansou
ab8592526f
Replace panic!() with unreachable!()
2024-04-12 05:14:39 +00:00
Matthias Ahouansou
561a103140
chore(config): bump default room version to v10
2024-04-11 22:55:18 +01:00
Val Lorentz
b5e21f761b
Merge branch 'next' into 'room-v11'
...
# Conflicts:
# src/service/rooms/timeline/mod.rs
# src/utils/error.rs
2024-04-11 17:34:42 +00:00
Matthias Ahouansou
9e6ce8326f
Remove TODO
2024-04-11 17:21:00 +00:00
Matthias Ahouansou
e88d137bd7
Replace panic!() with unreachable!()
2024-04-11 17:19:42 +00:00
Charles Hall
7f63948db9
Merge branch 'version-extra' into 'next'
...
allow including extra info in `--version` output
See merge request famedly/conduit!601
2024-04-11 14:37:37 +00:00
Timo Kösters
f16bff2466
Merge branch 'user_can_membership' into 'next'
...
refactor(state_accessor): add method to check if a user can invite another user
See merge request famedly/conduit!621
2024-04-06 14:27:20 +00:00
Timo Kösters
e8796d6bf9
Merge branch 'admin-check-remote-users' into 'next'
...
fix: do not allow administration of remote users
Closes #377
See merge request famedly/conduit!614
2024-04-06 13:21:29 +00:00
Matthias Ahouansou
fe78cc8262
refactor(state_accessor): add method to check if a user can invite another user
2024-04-06 14:20:18 +01:00
Timo Kösters
03f9c888f0
Merge branch 'remove-join_authorized_via_users_servers' into 'next'
...
fix(membership): remove join_authorized_via_users_server field on state update
See merge request famedly/conduit!619
2024-04-06 13:20:01 +00:00
Matthias Ahouansou
2c73c3adbb
fix(sync): send phoney leave event where room state is unknown on invite rejection
2024-04-06 14:12:18 +01:00
Matthias Ahouansou
9497713a79
fix(membership): check if server is in room to decide whether to do remote leaves
2024-04-06 14:10:11 +01:00
Matthias Ahouansou
110b7e10e6
fix: do not allow administration of remote users
2024-04-05 10:56:28 +01:00
Timo Kösters
6c3ce71304
Merge branch 'dont-expect-reqwest-http-request' into 'next'
...
fix: do not expect that all http requests are valid reqwest requests
Closes #396
See merge request famedly/conduit!611
2024-04-05 09:53:14 +00:00
Matthias Ahouansou
fb4217486f
feat(membership): check if user already has the membership that is requested to be set
2024-04-05 10:21:44 +01:00
Matthias Ahouansou
0f6b771cdd
fix(membership): remove join_authorized_via_users_server field on state update
2024-04-03 22:46:47 +01:00
Matthias Ahouansou
0d62c9de7c
fix: ignore access tokens where they are not needed
2024-04-02 17:19:59 +01:00
Matthias Ahouansou
e38af9b7fc
feat: use _matrix-fed._tcp SRV record, fallback to _matrix._tcp
2024-04-01 20:55:13 +01:00
Matthias Ahouansou
3ce3d13378
fix: do not expect that all http requests are valid reqwest requests
2024-03-31 22:20:36 +01:00
Matthias Ahouansou
11612e347d
fix: return error when trying to unregister unknown appservice id
2024-03-31 21:24:15 +01:00
Timo Kösters
7aa70e2030
Merge branch 'error-appservice-token-auth' into 'next'
...
fix: reject requests with authentication when not used
Closes #430
See merge request famedly/conduit!608
2024-03-31 09:43:17 +00:00
Matthias Ahouansou
5c634ceb6b
fix: reject requests with authentication when not used
2024-03-30 16:50:21 +00:00
Matthias Ahouansou
8d70f69e62
fix: reject /register requests when there is no token and the type is appservice
2024-03-30 12:40:58 +00:00
Timo Kösters
9176474513
Merge branch 'ruma-registration-type' into 'next'
...
fix: don't panic if registration url is empty
See merge request famedly/conduit!583
2024-03-23 15:33:01 +00:00
Matthias Ahouansou
b20483aa13
refactor(appservices): avoid cloning frequently
2024-03-22 20:53:27 +00:00
Matthias Ahouansou
5c650bb67e
refactor: use BTreeMap for cached registration info
2024-03-22 17:52:47 +00:00
Timo Kösters
1fb5bcf98f
improvement: registration token now only works when registration is enabled
2024-03-22 09:26:11 +01:00
Timo Kösters
0bb28f60cf
refactor: minor appservice code cleanup
2024-03-22 08:59:36 +01:00
Timo Kösters
d2817679e5
refactor: remove previous typing implementation and add sync wakeup for new one
2024-03-22 08:24:17 +01:00
Timo Kösters
6bd7ff4917
improvement: do not save typing edus in db
2024-03-22 07:48:44 +01:00
Timo Kösters
879a8b969d
improvement: use simpler rocksdb config
2024-03-21 15:04:40 +01:00
Matthias Ahouansou
5f0bea6961
refactor: check if federation is disabled inside the authcheck where possible
2024-03-18 09:24:37 +00:00
Charles Hall
ab98b52b21
Merge branch 'remove-log-modification' into 'next'
...
Remove log config modification
See merge request famedly/conduit!553
2024-03-12 22:06:32 +00:00
Charles Hall
ac22b1bed1
allow including extra info in --version
output
2024-03-11 20:11:59 -07:00
Max Cohen
9a81a49c6a
Add argument parser for the conduit executable
...
Allow fetching the version with `conduit --version`. Fixes #285 .
2024-03-11 09:43:02 -07:00
Charles Hall
516876f8ef
remove final reference to sled in log config
2024-03-10 22:53:27 -07:00
tezlm
daed4cdddf
Remove log config modification
2024-03-10 22:17:04 -07:00
Matthias Ahouansou
fa930182ae
fix(appservices): don't panic on empty registration url
...
perf(appservices): cache regex for namespaces
2024-03-10 13:27:48 +00:00
Matthias Ahouansou
ee7efdd403
typo: as -> has
2024-03-05 20:31:40 +00:00
Matthias Ahouansou
07bb369c5c
perf: remove unnecessary async
2024-03-05 20:20:19 +00:00
Matthias Ahouansou
17dd8cb918
style: rename Sync(Mutex|RwLock) to Std(Mutex|RwLock)
2024-03-05 20:16:28 +00:00
Matthias Ahouansou
e33d8430d3
typo: colsures -> closures
2024-03-05 20:13:39 +00:00
Matthias Ahouansou
c58af8485d
revert: remove dependency on async_recursion
2024-03-05 19:59:24 +00:00
Matthias Ahouansou
becaad677f
refactor: use async-aware RwLocks and Mutexes where possible
2024-03-05 14:23:59 +00:00
Matthias Ahouansou
4934020ee7
style: remove unnecessary else block
2024-03-04 09:33:03 +00:00
Matthias Ahouansou
da5975d727
fix: avoid panics when admin room is not available
2024-03-03 22:42:24 +00:00
Matthias Ahouansou
e06e15d4ec
fix(accounts): don't give guests admin
2024-03-03 11:26:58 +00:00
Timo Kösters
a159fff08a
improvement: deactivate old presence code because it slows down sync
...
The problem is that for each sync, it creates a new rocksdb iterator for each room, and creating iterators is somewhat expensive
2024-02-29 10:31:25 +01:00
Timo Kösters
62dda7a43f
improvement: delete old rocksdb LOG files
2024-02-29 10:28:06 +01:00
Timo Kösters
99ab234f40
Merge branch 'fixes' into 'next'
...
Avoid panic when client is confused about rooms
See merge request famedly/conduit!588
2024-02-28 16:19:48 +00:00
Timo Kösters
d7fd89df49
fix: avoid panic when client is confused about rooms
2024-02-28 16:31:41 +01:00
Timo Kösters
f4e57fdb22
Avoid federation when it is not necessary
2024-02-28 16:27:08 +01:00
Matthias Ahouansou
21a5fa3ef0
refactor: use re-exported JsOption from ruma rather than directly adding it as a dependency
2024-02-25 10:30:30 +00:00
Matthias Ahouansou
8aa915acb9
bump ruma, support deprecated user login field
2024-02-23 20:29:17 +00:00
Matthias Ahouansou
ace9637bc2
replace unwraps with expects
2024-02-23 19:39:30 +00:00
Matthias Ahouansou
976a73a0e5
style: appease rustfmt
2024-02-16 21:19:40 +00:00
Matthias Ahouansou
4c06f329c4
refactor: appease clippy
2024-02-16 21:13:59 +00:00
strawberry
6dcc8b6cf1
bump ruma to latest commit (syncv3 JsOption and push optional power levels)
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-16 20:45:48 +00:00
strawberry
a2ac491c54
bump ruma, add wrong room keys error code, tiny logging change
...
can't update ruma to very latest commit because of the weird JsOption thing for syncv4 that i can't wrap my head around how to use, not important anyways
Signed-off-by: strawberry <strawberry@pupbrain.dev>
2024-02-16 20:45:27 +00:00
Charles Hall
1274b48ebb
run cargo update
...
`IndexMap::remove` was deprecated in favor of explicitly named methods.
I assume that we actually needed to be using `shift_remove`, otherwise
we probably wouldn't be bothering with `indexmap` here in the first
place. I wonder if this fixes any bugs lol
2024-01-29 16:17:25 -08:00
Charles Hall
3e389256f5
switch lint config to manifest-lint
feature
...
I removed some lint configuration in the process:
* `#[allow(clippy::suspicious_else_formatting)]` because nothing is
currently triggering it.
* `#[warn(clippy::future_not_send)]` because some stuff under
`src/lib.rs` is. And also like, auto-trait leakage generally means
this isn't a problem, and if things really need to be `Send`, then
you'll probably know to mark it manually.
* `#[warn(rust_2018_idioms)]` and replaced it with
`explicit-outlives-requirements = "warn"` which is the most useful
lint in that group that isn't enabled by default.
2024-01-26 01:03:55 -08:00
Charles Hall
9453dbc740
update rust toolchain
...
It comes with a bunch of new lints (yay!) so I fixed them all so CI will
keep working.
Also apparently something about linking changed because I had to change
the checks for deciding the linker flags for static x86_64 builds to
keep working.
2024-01-25 21:44:40 -08:00
Charles Hall
fe86d28428
move resolver logic into the resolver
...
Honestly not sure why it wasn't done like this before. This code is much
less awkward to follow and more compartmentalized.
These changes were mainly motivated by a clippy lint triggering on the
original code, which then made me wonder if I could get rid of some of
the `Box`ing. Turns out I could, and this is the result of that.
2024-01-24 15:11:17 -08:00
Timo Kösters
c86f9a5c5b
Merge branch 'pr_upstream_reqwest' into 'next'
...
Use upstream `reqwest` instead of vendored one
See merge request famedly/conduit!527
2024-01-24 21:59:34 +00:00
Timo Kösters
e0358a9de5
Merge branch 'send_push_to_invited_user' into 'next'
...
feat: send push notification on invite to invited user and etc
Closes #399
See merge request famedly/conduit!559
2024-01-24 17:55:22 +00:00
Tobias Bucher
69d0003222
Use upstream reqwest
instead of vendored one
...
This uses the `ClientBuilder::dns_resolver` function that was added in
reqwest 0.11.13, instead of the homebrew `ClientBuilder::resolve_fn`.
2024-01-24 17:12:43 +01:00