strawberry
56e4166ee8
never let clippy fail, use CARGO_PKG_NAME, allow issues on gh, simplify regex a tad
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-11-29 23:19:53 -05:00
strawberry
87d6a17f0a
fix all the warnings!!!! (0 clippy and rustc warnings now)
...
too many changes to list, codebase significantly better than it was a few weeks ago though
Signed-off-by: strawberry <june@girlboss.ceo>
2023-11-29 21:36:02 -05:00
strawberry
54a3f47851
fix every clippy warning possible, remove io_uring as default feature
...
this project's codebase is so horrendous, im shocked that no one has ran
clippy at all. it had ~200 total lint warnings, some with performance
issues and unsoundness, and the rest just very ugly codebase. i have sat
down and fixed as many of these as possible and i am exhausted.
i haven't fixed some extremely complex ones, but i brought it down from
~200 to ~30.
i have also removed io_uring as a default feature due to it falling
under the same category as linux eBPF: major kernel attack surface for
minimal performance gains. this also makes it impossible to cross-compile
from macOS to Linux because io_uring does not exist in Darwin land.
there are far better ways to achieve better performance than io_uring on
the codebase level.
Signed-off-by: strawberry <june@girlboss.ceo>
2023-11-27 00:50:55 -05:00
strawberry
2dc1c1fdcb
fix clippy performance and sus warnings, remove 1 unwrap, forgot to increment db version
...
Signed-off-by: strawberry <strawberry@pupbrain.dev>
2023-11-26 22:14:43 -05:00
strawberry
b4e2f7ca37
log error for invalid room member events in db
...
Signed-off-by: strawberry <strawberry@pupbrain.dev>
2023-11-25 20:42:38 -05:00
strawberry
6958c720d0
make pdu stuff async, remove unnecessary db version check
...
Signed-off-by: strawberry <strawberry@pupbrain.dev>
2023-11-25 18:29:38 -05:00
strawberry
0c4604b482
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>
2023-11-25 12:42:05 -05:00
strawberry
e9cd8caaed
add feature flagged support for migrating from base64 file name keys to sha256 ones
...
core implementation and tests from https://gitlab.com/famedly/conduit/-/merge_requests/467
feature flag, base64 encode update, and tweaks were me
Signed-off-by: strawberry <strawberry@pupbrain.dev>
2023-11-25 11:38:28 -05:00
Val Lorentz
d092820699
Fetch server keys concurrently
...
This speeds up handling of /_matrix/federation/v1/send/:transaction_id
when more than one event contains unknown keys.
In particular, when receiving multiple PDUs with dead servers in their
auth chain, timeouts of each server accumulate and can make handling of
incoming requests take several minutes, to the point the client closes
the connection (eg. matrix.org has a 2 minute timeout), causing new
events to be dropped eventually.
2023-11-25 11:38:28 -05:00
girlbossceo
16c3a38761
remove another unnecessary unwrap/expect
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-28 23:43:08 -04:00
girlbossceo
6931f4b778
reduce more unnecessary logging and improve a tad
...
dead servers in rooms are not relevant to log, keep it as info/debug
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-28 23:40:44 -04:00
girlbossceo
64084fb2d0
use a proper function for this instead of checking 200
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-28 22:36:47 -04:00
girlbossceo
03af588efb
don't unwrap reqwest requests for appservice and pushers too
...
this is another denial of service vector, but less severe than the federation one.
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-28 22:34:09 -04:00
girlbossceo
95187419f9
do not expect/unwrap requests
...
causes tokio runtime worker to panic as we attempt to convert an HTTP
Request from ruma (try_into_http_request) into a reqwest Request so the
reqwest http client on the server can execute said request. error
message is not ideal ("invalid port number") but core issue is fixed.
Co-authored-by: infamous <ehuff007@gmail.com>
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-28 09:05:23 -04:00
Jakub Kubík
58a83f06b1
feat(presence): add granular allow configuration
2023-10-21 22:31:16 -04:00
Jakub Kubík
ba03edfae9
feat(presence): implement presence functionality
2023-10-21 22:31:06 -04:00
girlbossceo
22eff2d29c
clean up few unnecessary warnings
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-21 16:15:42 -04:00
girlbossceo
05c08c8529
fix device name federation control
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-21 12:19:21 -04:00
girlbossceo
6e46f56929
error log thing
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-21 12:18:59 -04:00
girlbossceo
f72fd67a71
remove dbg's, update rocksdb, use iouring
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-24 10:17:26 -04:00
girlbossceo
fda30f5602
fix: add destination field authorization handler (not my commit)
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 21:47:37 -04:00
girlbossceo
ebd2ec45b1
fix: Do not allow fetching cached remote users' profiles over federation (nyaaori)
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 21:47:37 -04:00
girlbossceo
1b75d384d7
option to control federating device display names
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 21:47:35 -04:00
girlbossceo
81e8df3102
options to control public room directory visibility
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 21:46:43 -04:00
girlbossceo
76c00283de
woof woof
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 21:46:41 -04:00
girlbossceo
618036dc31
support querying _matrix-fed and _matrix
...
_matrix-fed is the new IANA registered SRV record service name
per MSC4040. _matrix is now considered deprecated in Matrix 1.8.
see 3.3 and 3.4 of https://spec.matrix.org/v1.8/server-server-api/#resolving-server-names
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 20:36:03 -04:00
girlbossceo
87c527ad79
remove unused trace
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 20:36:03 -04:00
Timo Kösters
75c80df271
Sliding sync improvements and redaction fixes
2023-09-13 20:54:53 +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
11103a92ed
Do not show "Invalid room version" errors when server is not in room
2023-08-11 10:48:48 +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
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
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
girlbossceo
d7061e6984
cargo fmt
...
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-07-29 14:30:48 +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
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
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
c3966f501c
fix: nheko e2ee verification bug
2023-07-10 23:10:27 +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
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
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
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
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
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
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
2316d89048
Even more logging
2023-03-13 10:39:18 +01:00
Timo Kösters
4617ee2b6b
More logging for remote joins
2023-03-13 10:39:18 +01:00
Timo Kösters
10fa686c77
feat: respect history visibility
2023-03-13 10:39:18 +01:00
Timo Kösters
2aa0a2474b
fix: ignore unparsable pdus in /send
2023-03-13 10:39:17 +01:00
Timo Kösters
eae0989c40
fix: refactor backfill and add support for search
2023-03-13 10:39:17 +01:00
Timo Kösters
7bdd9660aa
feat: ask for backfill
2023-03-13 10:39:17 +01:00
Timo Kösters
23b18d71ee
feat: handle backfill requests
...
Based on https://gitlab.com/famedly/conduit/-/merge_requests/421
2023-03-13 10:39:16 +01:00
Jonathan de Jong
b158896396
Merge remote-tracking branch 'origin/next' into complement-improvements
2023-01-26 18:19:39 +01:00
digital
4d589d9788
feat: support end to bridge encryption
...
by implementing appservice logins
2023-01-18 23:34:18 +01:00
Nyaaori
7cc346bc18
feat: Implement membership ban/join/leave/invite reason support
2022-12-21 11:45:12 +01:00
Nyaaori
c86313d4fa
chore: code cleanup
...
https://rust-lang.github.io/rust-clippy/master/index.html#op_ref
https://rust-lang.github.io/rust-clippy/master/index.html#str_to_string
https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
2022-12-21 10:42:12 +01:00
Timo Kösters
2a04c213f9
improvement: handle restricted joins locally
2022-12-18 09:44:46 +01:00
Timo Kösters
6d5e54a66b
fix: jaeger support
2022-12-18 06:37:03 +01:00
Timo Kösters
f1d2574651
finish upgrade ruma
2022-12-17 09:28:08 +01:00
Jonas Platte
d39ce1401d
WIP: Upgrade Ruma
2022-12-16 11:57:32 +01:00
Timo Kösters
5894d35eb2
Merge branch 'fixrestrictedjoin' into 'next'
...
fix: rejoining restricted rooms over federation
See merge request famedly/conduit!431
2022-11-30 21:32:12 +00:00
Timo Kösters
b9fd6127e2
fix: rejoining restricted rooms over federation
2022-11-30 22:30:55 +01:00
Timo Kösters
396dac6d82
Merge branch 'fixroomleave' into 'next'
...
fix: unable to leave room
See merge request famedly/conduit!419
2022-11-21 20:04:27 +00:00
Timo Kösters
9149be31af
Merge branch 'logs-cleanup' into 'next'
...
Clean some noisy logs
See merge request famedly/conduit!423
2022-11-21 20:03:17 +00:00
Nyaaori
b59304a4df
Reduce length of generated access tokens and session ids
...
Reduces generated tokens and session ids down to 32 characters (~190 bits of entropy) in length
2022-11-21 20:51:59 +01:00
Nyaaori
66bc41125c
refactor: cleanup
2022-11-21 20:50:39 +01:00
Andriy Kushnir (Orhideous)
a3a1db124d
Clean some noisy logs
2022-11-21 21:48:06 +02:00
Timo Kösters
3b3c451c83
fix: unable to leave room
2022-11-21 19:50:48 +01:00
Timo Kösters
c063700255
fix: invite dendrite users
2022-11-09 21:14:17 +01:00
Timo Kösters
7540227388
chore: bump dependencies
2022-11-09 18:46:10 +01:00
Nyaaori
00996dd834
Cargo Clippy
2022-10-31 09:31:17 +01:00
Timo Kösters
0cf6545116
fix: not sending enough state on join
2022-10-30 21:23:43 +01:00
Timo Kösters
c61914c8e1
Merge branch 'fixhead' into 'next'
...
fix: HEAD requests should continue to produce METHOD_NOT_ALLOWED
See merge request famedly/conduit!402
2022-10-30 19:45:58 +00:00
Timo Kösters
02dd3d32f2
fix: element android did not reset notification counts
2022-10-30 20:41:32 +01:00
Timo Kösters
7c98ba64aa
fix: HEAD requests should produce METHOD_NOT_ALLOWED
2022-10-30 19:53:05 +01:00
Jonathan de Jong
52018c3967
allow complement dockerfile to copy over target folder
2022-10-28 21:04:05 +02:00
James Blachly
3bc0a1924b
Return 403 to 3pid token routes to signal not implemented
2022-10-25 20:47:41 +00:00
Jonathan de Jong
215d909e59
More debug info when try_from_http_request fails
2022-10-17 18:41:59 +02:00
Timo Kösters
2231a69b4c
fix: make previous MR compile
2022-10-15 14:07:27 +02:00
Max Cohen
6fd39ae174
Raise 404 when room doesn't exist
...
Raise 404 "Room not found" when changing or accessing room visibility
settings (`GET` and `PUT
/_matrix/client/r0/directory/list/room/{roomId}`).
See issue #290
2022-10-15 13:52:58 +02:00
Nyaaori
2d0fdddd34
Do not return true for is_guest on whoami for appservice users
2022-10-15 13:17:58 +02:00
Timo Kösters
b1991c8f4f
Merge branch 'Nyaaori/rejoin-fix' into 'next'
...
Rejoin over federation if we are not participating
See merge request famedly/conduit!399
2022-10-15 09:56:55 +00:00
Nyaaori
e9697f13d6
Handle initiating restricted joins over federation
...
Allows Conduit users to join restricted rooms if we are not currently participating
2022-10-15 10:46:50 +02:00
Nyaaori
3b0aa23fdf
Rejoin room over federation if we are not participating in it; do not include invited users in participating servers calculation
2022-10-15 10:38:30 +02:00
Timo Kösters
3a45628e1d
fix: send unrecognized error on wrong http methods
2022-10-15 00:28:43 +02:00
Timo Kösters
c948324cf2
Merge branch 'fix-admin-help' into 'next'
...
fix `@conduit help` not working in the admin room
See merge request famedly/conduit!392
2022-10-13 11:15:49 +00:00
Timo Kösters
175fba5739
Merge branch 'fix-login-token' into 'next'
...
fix(client/login): username in lowercase for login by token
See merge request famedly/conduit!380
2022-10-13 11:08:04 +00:00
Timo Kösters
f46d64e52f
Merge branch 'unstability' into 'next'
...
Mark unstable versions as unstable in /capabilities
See merge request famedly/conduit!394
2022-10-13 09:39:45 +00:00
Timo Kösters
8c6e75a0cd
Mark unstable versions as unstable in /capabilities
2022-10-13 10:27:42 +02:00
Timo Kösters
ac52b234fa
fix: all the e2ee problems
2022-10-13 10:15:35 +02:00
AndSDev
9a47069f45
fix(client/login): username in lowercase for login by token
2022-10-13 06:40:17 +00:00
Charles Hall
3c20c1b72e
fix cargo test
2022-10-12 17:55:12 -07:00
Timo Kösters
4d982d05af
Merge branch 'claimfast' into 'next'
...
improvement: more efficient /claim
See merge request famedly/conduit!389
2022-10-12 09:09:23 +00:00
Timo Kösters
dd8f4681a2
fix: make join should not send event id
2022-10-12 10:57:54 +02:00
Timo Kösters
0290f1f355
improvement: more efficient /claim
2022-10-12 10:43:30 +02:00
Timo Kösters
d3968c2fd1
fix: bump ruma again to fix state res problems
2022-10-11 21:51:20 +02:00
Timo Kösters
8105c5cc60
cargo fmt
2022-10-11 18:10:51 +02:00
Timo Kösters
d1e5acd7b3
fix: don't panic on missing events in state
2022-10-11 17:59:49 +02:00
Timo Kösters
68227c06c3
fix: state for left rooms
2022-10-11 17:10:56 +02:00
Timo Kösters
31d1801912
fix: workaround for missing avatars on element and rooms becoming historical
2022-10-11 17:10:09 +02:00
Timo Kösters
fb6bfa9753
fix: missing field origin
error with synapse servers
2022-10-11 15:25:10 +02:00
Timo Kösters
c30cc6120b
fix: send right errors on make/send join in restricted rooms
2022-10-11 11:53:13 +02:00
Jakub Kubík
0ddc3c01ef
style(client/keys): rename signature key to signed key
2022-10-10 14:41:43 +02:00
Jakub Kubík
c15205fb46
fix(client/keys): ignore non-signature keys in signature upload route
2022-10-10 14:41:00 +02:00
Jim
df8703cc13
Lightning bolt optional
2022-10-10 14:34:28 +02:00
Nyaaori
f430b87459
cargo clippy
2022-10-10 14:09:11 +02:00
Timo Kösters
076e9810ba
cargo fix
2022-10-10 14:02:04 +02:00
Timo Kösters
6b131202b9
Bump ruma
2022-10-10 14:02:04 +02:00
Timo Kösters
275c6b447d
Bump some dependencies
2022-10-10 14:02:04 +02:00
Timo Kösters
1a7893dbbd
fix: update state_cache on join over federation
2022-10-10 14:02:03 +02:00
Timo Kösters
8b5b7a1f63
fix: panic on launch
...
Now we start the admin and sending threads at a later time.
2022-10-10 14:02:02 +02:00
Timo Kösters
50b0eb9929
cargo fix
2022-10-10 14:02:02 +02:00
Timo Kösters
7822a385bb
cargo fmt
2022-10-10 14:02:02 +02:00
Timo Kösters
d5b4754cf4
0 errors left!
2022-10-10 14:02:02 +02:00
Timo Kösters
f47a5cd5d5
cargo fix
2022-10-10 14:02:01 +02:00
Timo Kösters
a4637e2ba1
cargo fmt
2022-10-10 14:02:01 +02:00
Timo Kösters
33a2b2b772
37 errors left
2022-10-10 14:02:01 +02:00
Timo Kösters
44fe6d1554
127 errors left
2022-10-10 14:02:00 +02:00
Timo Kösters
cff52d7ebb
messing around with arcs
2022-10-10 14:02:00 +02:00
Timo Kösters
face766e0f
messing with trait objects
2022-10-10 14:02:00 +02:00
Timo Kösters
8708cd3b63
431 errors left
2022-10-10 14:02:00 +02:00
Timo Kösters
bd8b616ca0
Fixed more compile time errors
2022-10-10 13:54:00 +02:00
Timo Kösters
057f8364cc
fix: some compile time errors
...
Only 174 errors left!
2022-10-10 13:25:01 +02:00
Timo Kösters
dcdbcc0851
refactor: event handling code
2022-08-15 17:12:22 +02:00
Timo Kösters
025b64befc
refactor: renames and split room.rs
2022-08-15 16:30:34 +02:00