Matthias Ahouansou
784d307425
revamp appservice registration to ruma's Registration type
...
squashed from https://gitlab.com/famedly/conduit/-/merge_requests/583
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-11 21:56:55 -05:00
strawberry
4ac568769b
improvement: registration token now only works when registration is enabled
...
Co-authored-by: Timo Kösters <timo@koesters.xyz>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
0e8267656f
fix room ID messages, remove comments
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
08a183e8c7
assume well-known is None if text length exceeds 10000 chars
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
1536f08d81
use both is_ip_literal and IPAddress is_valid checks
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
9858b33b37
just remove double quotes if found instead
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
e0419d9c5d
custom room ID checks, dont use format! macro due to quotes being added
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
7eff572e77
check if room ID already exists instead of erroring on auth check
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
8754f0e2a5
additional character check on room alias
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
89d9cdeb3a
IP range denylist logging, and fix logic error
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
382347353e
add custom room ID support using room_id
field
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
2980af6490
move room creation config check higher up
...
dont bother wasting resources if we know we
arent even allowed to make the room to begin with
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
ead9a58dce
dont crash failing to deserialise room creation content
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
3453dcc344
add error checking to room aliases
...
length, colon, and spaces. also dont crash.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
6c1358d0c8
send home_server on login response again
...
a 6+ year old deprecated field that isnt even spelled
right, and no clients use it must still be sent
according to spec
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
fa0c083555
don't send requests to specified list of IP CIDRs
...
this can most definitely be improved but this is a decent attempt.
the only annoying this is i couldn't just use a Vec<IPAddress> which
would have significantly simplified all of this, but serde can't
deserialise it on the config side i guess.
i may find a better way to do this in the future, but this should cover
most areas anyways.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
71d247232d
oops forgot that endpoint too
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
6c75087863
eat less of client parameters for media requests
...
still cantt respect allow_redirect yet
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
ab6cb4ad2d
switch back to expect for sender_user
...
as far as i can tell, it will return a normal
error in the auth token handling code so this is fine.
we also shouldnt assume all errors from this are
access_token related.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
02bc818633
match explicit URI to see if we should authenticate the user
...
first attempt at forcing an endpoint to be authenticated
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
9d0c85ab17
use ruma JsOption, bump figment
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
34bac4d1d9
support sending well_known client response in /login using well_known_client
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
cf62cb0d0a
send avatar_url on invite member events like synapse
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
f275a0dfbe
fix obvious copy-paste error
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
6ffc54e241
support blocking servers from fetching remote media from
...
akin to synapse's `prevent_media_downloads_from`
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 23:57:45 -05:00
strawberry
1a06c8c9d3
more error checking for deserialising events and canonical JSON
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 23:57:45 -05:00
strawberry
3ffca25f6f
update few endpoint docs versions
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 23:57:45 -05:00
strawberry
2bbc75d68e
why did i have to run cargo fmt twice
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
40f5345586
fix formatting and links of user reports more
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
e944ed5eb4
fix /report
endpoint a lot
...
in short, the `/report` endpoint now checks if:
- the reporting room in the URI matches the PDU/event reported
- sender user is in the room reported
- raises report reasoning to 750 characters (spec doesn't say to limit
these, but thorough and informative reports for server admins are not
a bad thing)
- (hopefully) fixes some broken formatting
- add a random short delay before sending a successful response to the
client to make it more annoying to enumerate for events on our server
(security by obscurity but spec suggests it)
basically, secure reports better lol
see https://spec.matrix.org/v1.9/client-server-api/#post_matrixclientv3roomsroomidreporteventid
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
7eb57a9fd5
explicitly fallback to None for invalid/empty room topics
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
9a3866afff
return M_INVALID_PARAM
instead of M_BAD_JSON
for bad room aliases
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
92641d0628
first of many small code documentation
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
a85ebdeaa0
require sender_user being in the reporting room for /report events
...
Matrix 1.8 change:
https://spec.matrix.org/v1.9/client-server-api/#post_matrixclientv3roomsroomidreporteventid
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
bfc738d80e
default to None for room topic event in spaces or /publicRooms
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
59c7f93656
fix more clippy lints (part 1)
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
2074e36aa4
add missing ban reason to ban events
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
2f16726bac
raise generated passwords to 25 chars
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
2b031e40a2
partially revert keeping track of remote user profiles
...
this seems to require some more work to properly ignore
dead server errors without breaking the entire room join
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
149d22eef7
make set avatar, displayname, and blurhash async and forgot another let _
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
9ec1532580
ignore potential errors when updating user profiles
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
0297cfe307
remove cached destination for a destination if request fails
...
this can help if users change their well-known or such and we don't want
to keep on hitting the old destination.
from 11357d1f1a
Co-authored-by: Jacob Taylor <jacob@explodie.org>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
ad792f4565
oops dedup only works on consecutive elements
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
52884abff6
don't validate or add signature if room is not v8 or above or not using restricted joins
...
should resolve https://github.com/matrix-org/matrix-spec/issues/1708 on
for conduwuit until spec clarifies.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
5c4b8ad7a3
replace panics on unknown room versions with errors
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
edd74efbf2
dedup servers in get_alias_helper
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
ae11e378d2
debug log well-known response body and text
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
14a0d12002
declare support for Matrix 1.5 in our federation requests
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
49b6f338fd
feat: suggest servers to join at /_matrix/client/v3/directory/room/{roomAlias}
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
b28a2fad97
feat: keep track of remote profiles for user directory and local requests
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
ef8dcdfe3c
declare explicit support for room filtering (MSC3827)
...
conduit has supported this for a while now and is a Matrix 1.4 feature
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
20aa2cfca6
update device lists for user upon logout
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
8586b15e1a
add support for serving client+server well-known and /client/server.json
endpoints from conduwuit
...
the last endpoint is a non-standard health check endpoint used by at
least Element Web as a weird way to determine if syncv3 is available
there can also be some valid use-cases for serving well-knowns from the
application itself
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-07 22:26:27 -05:00
strawberry
1308574db0
bump ruma to latest commit (syncv3 JsOption and push optional power levels)
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-07 22:26:27 -05:00
strawberry
5422d0cedd
declare support for various missing matrix versions
...
this is another one of those things that upstream has neglected
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-07 22:26:27 -05:00
strawberry
3723d37b14
raise report reason limit to 500 (though spec doesnt say to limit these)
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-06 16:16:44 -05:00
strawberry
d56e76c23e
raise various timeouts, make exp backoff consistent
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-06 16:16:44 -05:00
strawberry
14fc20e31e
cargo fmt
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-25 11:09:19 -05:00
Val Lorentz
89c3679e9a
Add missing pub key in send_join handling
2023-12-25 11:09:19 -05:00
Val Lorentz
33cae7eaab
Explicitly match RoomVersionId::V11
2023-12-25 11:09:19 -05:00
Nineko
fdc3e07be6
feat: replaced flaky argon2 with better argon2 crate ( #37 )
...
* feat: replaced flaky argon2 with better argon2 crate
* fix: applied cargo fmt nightly
* docs: added comment specifying what the settings for Argon2 mean
* fix: made hashing error a bit more descriptive
* fix: fixed incorrect value for Kib
2023-12-25 10:28:56 -05:00
Charles Hall
629efaa910
use constructor to avoid deprecation warnings
2023-12-24 01:05:13 -05:00
strawberry
5bb6128149
remove wrong else logic
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-23 11:49:14 -05:00
strawberry
dd8a6ede09
dont allow guest registration if registration disabled with token configured
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-23 11:49:14 -05:00
strawberry
6664259e64
forbid guest users from registering if no real admin user exists
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-23 11:49:14 -05:00
strawberry
01a8f6323d
log next steps if a guest account registered and attempted to get admin
...
this might be an unreachable state with the next commit, but let's be
extra sure here just in case a guest still managed to register before
a real admin was created.
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-23 11:49:14 -05:00
strawberry
dc73df763a
don't grant guest users admin, slight user + guest logging improvements
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-23 11:49:14 -05:00
strawberry
b0fdc1351b
add config option for guest registration, make guest registration respect allow_registration
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-23 11:49:14 -05:00
Jakub Kubík
cc4e6e213f
fix(sync): correctly update presence properties
2023-12-20 21:50:18 -05:00
Jakub Kubík
69025d30f7
style(presence): use flat_map instead of matching Results in filter
2023-12-20 21:50:13 -05:00
strawberry
e93b4aa08e
fix typo
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-20 21:46:54 -05:00
Charles Hall
311c7d83ca
fix rustdoc warnings
...
Also removed all instances of `#[command(verbatim_doc_comment)]` because
I'm pretty sure it's not necessary anymore. The `[commandbody]` things
were making rustdoc upset about broken link syntax. I also normalized
"code-block" to "code block" in that file since the latter appears more
often.
2023-12-20 21:46:54 -05:00
strawberry
8454773275
log rejected sendjoin, remove unnecessary clone
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-03 20:20:25 -05:00
strawberry
f62f641545
add rocksdb configurable options and tweaks, logging improvements, exp. room v11 support
...
split out the spinning disk focused options into a configurable option, current
conduwuit users are NVMe/SSDs anyways so those options are just hindering performance.
rocksdb logging builds up overtime with no cleanup or anything, adds support for
configuring the amount of logging, size of files, log rotate, etc.
fixes https://gitlab.com/girlbossceo/conduwuit/-/issues/1
misc conduit logging improvements for help debugging issues and maybe a future feature
experimental Room V11 support from https://gitlab.com/famedly/conduit/-/merge_requests/562
Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-02 21:30:06 -05:00
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