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
Charles Hall
0d17aedae5
fix cargo doc
lints
...
Rustdoc (rightfully) thought the `[commandbody]` "tags" were broken
links, so I've just made them links to nothing instead.
2024-01-24 07:22:37 -08:00
Charles Hall
ab1fff2642
fix cargo clippy
lints
2024-01-24 07:22:37 -08:00
Charles Hall
92c5b6b86c
fix cargo check
lints
2024-01-24 07:22:25 -08:00
Charles Hall
835f4ad8cf
declare 1.5 support
2024-01-16 13:52:56 -08:00
Val Lorentz
8175bc1246
Explicitly match RoomVersionId::V11
2023-12-24 19:04:48 +01:00
Val Lorentz
eb7ac91cd5
Reuse existing get_room_version
2023-12-24 19:02:03 +01:00
Charles Hall
9d7f7b871b
don't panic on missing presence status for a user
2023-12-23 21:01:01 -08:00
Val Lorentz
98e81c6217
Log underlying error when rejecting sendjoin response
2023-12-03 19:38:09 +01:00
Val Lorentz
5a7bb1e8f1
Return error instead of panic when first event is not m.room.create
2023-12-02 17:51:19 +01:00
Val Lorentz
520806d413
Use Ruma's redact_content_in_place instead of custom implementation
2023-12-01 19:12:23 +01:00
Val Lorentz
9646439a94
Enable support for room v11
2023-12-01 18:29:15 +01:00
Val Lorentz
fac995036a
create_hash_and_sign_event: Use actual version of RoomCreate events, instead of the default
2023-12-01 18:29:15 +01:00
Val Lorentz
18bfd79ef2
Remove "creator" key when upgrading rooms to v11
2023-12-01 18:28:51 +01:00
Val Lorentz
a3b8eea9b4
Move "redacts" key to "content" in redaction events in v11 rooms
2023-12-01 18:28:51 +01:00
Val Lorentz
d39d30008a
Remove "creator" property from rooms >= v11
2023-12-01 15:11:26 +01:00
AndSDev
f3b6b3e222
feat: send push notification on invite to invited user and etc
2023-11-07 12:46:53 +00:00
Timo Kösters
3bfdae795d
Merge branch 'sliding' into 'next'
...
Sliding sync improvements and redaction fixes
See merge request famedly/conduit!549
2023-09-13 18:57:57 +00:00
Timo Kösters
75c80df271
Sliding sync improvements and redaction fixes
2023-09-13 20:54:53 +02:00
Timo Kösters
094cb888d4
Merge branch 'badacl' into 'next'
...
fix: ACL error shouldn't break the whole request
See merge request famedly/conduit!542
2023-09-13 18:46:03 +00:00
Timo Kösters
9b55ce933a
Back off from more events, don't retry auth events
2023-08-12 09:53:32 +02:00
Timo Kösters
f73a657a23
fix: ACL error shouldn't break the whole request
2023-08-11 20:29:22 +02:00
Timo Kösters
6dfb262ddf
Merge branch 'patch-3' into 'next'
...
log handling previous event time as debug
See merge request famedly/conduit!540
2023-08-11 09:27:42 +00:00
Timo Kösters
11103a92ed
Do not show "Invalid room version" errors when server is not in room
2023-08-11 10:48:48 +02:00
girlbossceo
ce2017a10e
log handling previous event time as debug
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-08-10 23:12:37 +00:00
Timo Kösters
19bfee1835
improvement: matrix.org is default trusted server if unspecified
2023-08-10 17:45:58 +02:00
Timo Kösters
606b25b9e7
improvement: more forgiving admin command syntax
2023-08-10 17:26:55 +02:00
Timo Kösters
fd9e52a559
More sanity checks
2023-08-10 11:45:31 +02:00
Timo Kösters
183558150d
fix: don't show removed rooms in space
2023-08-09 22:21:21 +02:00
Timo Kösters
c028e0553c
feat: registration tokens
2023-08-09 18:27:30 +02:00
Timo Kösters
3e518773e2
Merge branch 'improvements' into 'next'
...
cross signing fixes
See merge request famedly/conduit!532
2023-08-07 16:11:11 +00:00
Timo Kösters
d82c26f0a9
Avatars for sliding sync DMs
2023-08-07 17:54:08 +02:00
Timo Kösters
c1e2ffc0cd
improvement: maybe cross signing really works now
2023-08-07 13:55:44 +02:00
June
06fccbc340
debug log before and after nofile soft limit increases
...
Signed-off-by: June <june@girlboss.ceo>
2023-08-03 14:51:39 -10:00
girlbossceo
fbd8090b0b
log room ID for invalid room topic event errors
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-08-03 08:54:47 -10:00
June
5a7bade476
update base64 to 0.21.2
...
Signed-off-by: June <june@girlboss.ceo>
2023-08-01 14:48:50 -10:00
Timo Kösters
d2bfcb018e
Merge branch 'error-leak-fix' into 'next'
...
sanitise potentially sensitive errors
See merge request famedly/conduit!523
2023-08-01 11:25:06 +00:00
Timo Kösters
acfe381dd3
fix: threads get updated properly
...
Workaround for element web while waiting for https://github.com/matrix-org/matrix-js-sdk/pull/3635
2023-07-31 16:18:23 +02:00
girlbossceo
83805c66e5
sanitise potentially sensitive errors
...
prevents errors like DB or I/O errors from leaking filesystem paths
Co-authored-by: infamous <ehuff007@gmail.com>
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-30 17:30:16 +00:00
Timo Kösters
afd8112e25
Merge branch 'spaces' into 'next'
...
Automatic update checker
See merge request famedly/conduit!522
2023-07-29 19:55:51 +00:00
Timo Kösters
b8c164dc60
feat: version checker
2023-07-29 21:53:57 +02:00
girlbossceo
e2c914cc11
fix: s/ok_or/ok_or_else in relevant places
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 19:17:12 +00:00
Timo Kösters
da907451e7
Admin commands to sign and verify jsons
2023-07-29 20:00:12 +02:00
girlbossceo
d7061e6984
cargo fmt
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 14:30:48 +00:00
girlbossceo
3494d7759e
Return "Hello from Conduit!" on the / route
...
akin to Synapes's "It works!" page, removing an unnecessary warning
about / route being unknown
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 14:29:26 +00:00
girlbossceo
cc5dcceacc
Log the room ID, event ID, PDU, and event type where possible
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 14:29:26 +00:00
girlbossceo
863103450c
Log the unknown login type in warning level
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 14:29:26 +00:00
girlbossceo
a0148a9996
Print relevant room ID and ACL'd server in informational level
...
These are room ACLs, not server ACLs. Causes confusion where people
think their Conduit homeserver was ACL'd. Print where these are coming from
in informational level.
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 14:29:26 +00:00
girlbossceo
1f867a2c86
Only print raw malformed JSON body in debug level
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 14:29:26 +00:00
Tobias Tom
7990822f72
It's ok not being able to find a .well-known response.
2023-07-28 16:26:40 +01:00
Timo Kösters
2a100412fa
Merge branch 'relax-rocksdb' into 'next'
...
relax recovery mode
See merge request famedly/conduit!516
2023-07-27 06:12:31 +00:00
Charles Hall
9fb8498067
relax recovery mode
2023-07-26 15:32:36 -07:00
Charles Hall
291290db92
maximize fd limit
2023-07-26 13:24:44 -07:00
Timo Kösters
bf46829595
fix: spaces with restricted rooms
2023-07-26 08:34:12 +02:00
Timo Kösters
90a10c84ef
Merge branch 'slidingfixes' into 'next'
...
Better sliding sync
See merge request famedly/conduit!511
2023-07-24 08:48:27 +00:00
Timo Kösters
d220641d64
Sliding sync subscriptions, e2ee, to_device messages
2023-07-24 10:42:52 +02:00
Timo Kösters
caddc656fb
slightly better sliding sync
2023-07-24 10:42:47 +02:00
Timo Kösters
a9ba067e77
fix: e2ee over federation
2023-07-16 16:50:03 +02:00
Timo Kösters
24402312c5
fix: could not verify own events
2023-07-15 23:43:25 +02:00
Timo Kösters
c3966f501c
fix: nheko e2ee verification bug
2023-07-10 23:10:27 +02:00
Timo Kösters
0b4e3de9c0
fix: spaces with restricted rooms
2023-07-10 16:28:08 +02:00
Timo Kösters
edd4a3733f
fix: actually clear memory in the admin commands
2023-07-10 16:27:42 +02:00
Timo Kösters
c17187777f
fix: never try federation with self
2023-07-10 16:26:36 +02:00
Timo Kösters
78e7b711df
fix: better sliding sync
2023-07-10 16:25:33 +02:00
Timo Kösters
e4f769963f
feat: very simple sliding sync implementation
2023-07-06 10:32:25 +02:00
Timo Kösters
f8a36e7554
Merge branch 'memory' into 'next'
...
improvement: better memory usage and admin commands to analyze it
See merge request famedly/conduit!497
2023-07-03 17:43:27 +00:00
Timo Kösters
a2c3256ced
improvement: better memory usage and admin commands to analyze it
2023-07-03 19:41:07 +02:00
Timo Kösters
833c1505f1
Merge branch 'hierarchy' into 'next'
...
feat: space hierarchies
See merge request famedly/conduit!495
2023-07-03 13:56:47 +00:00
Timo Kösters
bac13d08ae
fix: cache invalidation
2023-07-02 22:50:50 +02:00
Timo Kösters
9d49d599f3
feat: space hierarchies
2023-07-02 22:12:06 +02:00
Jonas Platte
0ded637b4a
Upgrade axum to 0.6
2023-06-29 11:20:52 +02:00
Timo Kösters
fd1ccbd3ad
improvement: randomize server order for alias joins
2023-06-28 17:44:30 +02:00
Timo Kösters
d64a56d88b
Do soft fail check before doing state res to allow leave events
2023-06-27 18:48:34 +02:00
Timo Kösters
be877ef719
Improve sync performance with more caching and wrapping things in Arcs to avoid copies
2023-06-27 13:15:11 +02:00
Timo Kösters
7c6d25dcd1
Do state res even if the event soft fails
2023-06-27 13:13:33 +02:00
Timo Kösters
72eb1972c1
Add relations endpoints, edits and threads work now
2023-06-26 12:38:51 +02:00
Timo Kösters
db6def8800
fix: send correct bearer token to appservices
2023-06-26 09:15:52 +02:00
Timo Kösters
49a0f3a60d
fix: /context for element android. start and end must be set even with limit=0
2023-06-26 08:33:31 +02:00
Timo Kösters
15cc801840
Disable compression, see https://en.wikipedia.org/wiki/BREACH
2023-06-25 23:43:54 +02:00
Timo Kösters
c7e0ea525a
feat: WIP relationships and threads
2023-06-25 19:40:33 +02:00
Timo Kösters
faa9208a3e
cargo fmt
2023-06-08 20:51:34 +02:00
Timo Kösters
1ea27c4f97
fix: restricted room error is now FORBIDDEN
2023-06-08 20:49:42 +02:00
Timo Kösters
422ee40107
Merge branch 'mr-conduit-appservice-login' into 'next'
...
feat: support end to bridge encryption
See merge request famedly/conduit!454
2023-05-26 12:48:23 +00:00
digital
664d6baace
fix: make requested changes
2023-05-26 13:06:28 +02:00
Timo Kösters
49b5af6d45
chore: bump rocksdb
2023-05-21 13:41:51 +02:00
Timo Kösters
1f1444da8c
Merge branch 'pushrules' into 'next'
...
Improvements to pushrules endpoints
Closes #316
See merge request famedly/conduit!461
2023-05-21 10:41:31 +00:00
Jonathan Flueren
f5e3b0e2dd
Recognize admin commands without : after tag
...
Very useful since many Matrix clients don't insert : after user tags
2023-05-15 19:25:57 +00:00
Kévin Commaille
1929ca5d9d
Add a database migration to fix and update the default pushrules
2023-03-18 15:03:57 +01:00
Kévin Commaille
88c6bf7595
Always return an error if a push rule is not found
2023-03-18 15:03:57 +01:00
Kévin Commaille
4635644e21
Use the ruma methods for managing rulesets
2023-03-18 15:03:57 +01:00
Kévin Commaille
f53ecaa97d
Bump Ruma
2023-03-18 15:03:56 +01:00
Timo Kösters
2a7c4693b8
fix: don't accept new requests when shutting down
2023-03-18 08:58:20 +01:00
Timo Kösters
da3871f39a
fix: let requests continue event if client disconnects
2023-03-17 22:45:13 +01:00
Timo Kösters
42b12934e3
Don't crash when a room errors
2023-03-13 10:43:09 +01:00
Timo Kösters
63f787f635
Reduce logs from info to debug
2023-03-13 10:39:19 +01:00
Timo Kösters
a1bd348977
fix: history visibility
2023-03-13 10:39:19 +01:00
Timo Kösters
27f29ba699
fix: SRV lookups should end with a period
2023-03-13 10:39:19 +01:00
Timo Kösters
cb0ce5b08f
Logs for server resolution
2023-03-13 10:39:18 +01:00
Timo Kösters
b7c99788e4
All the logs
2023-03-13 10:39:18 +01:00
Timo Kösters
2316d89048
Even more logging
2023-03-13 10:39:18 +01:00
Timo Kösters
bde4880c1d
fix: don't unwrap server keys
2023-03-13 10:39:18 +01:00