strawberry
35ebc459fa
add explicit_outlives_requirements rustc lint
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-26 19:47:54 -05:00
strawberry
5a8a3c742d
s/15000/10000
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-26 19:47:54 -05:00
strawberry and Timo Kösters
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
ab0b52ef1e
update DIFFERENCES.md
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
8b6bd8e89e
add cargo clippy
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
2c51cdc23b
update nix flake for gitlab CI building docker images
...
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
e272f0f34f
update DIFFERENCES.md
...
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
b51d148899
remove random space
...
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
9d1ca3e84a
update deps
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
114369bcf6
delete Dockerfile
...
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
1de7980143
update DIFFERENCES.md so far
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
dc9c86d3db
bump ruma, rusqlite, and rocksdb
...
latest rocksdb now has WriteBufferManager support
i hope no one is using sqlite with conduwuit, but if they are let's
bump it to latest git too for the latest sqlite version available.
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
4e8823dedb
add warning about outgoing presence PDU/EDU relationship
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
1460a82f54
use engage for gitlab CI
...
from https://gitlab.com/famedly/conduit/-/merge_requests/564
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
11bc725268
return joined member count of room for pushrules instead of hardcoded 10
...
im not sure what the TODO is trying to say here,
but since it's many years old and conduwuit is
fast, i dont see an issue with this.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
b50c47e1c2
silence loud tower_http errors (move to info)
...
these are benign errors that are from things like
conduwuit fetching remote media from dead servers
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
982eec178b
add conduwuit-example.toml (new example config)
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
fb1ade551a
revamp example config, document lots of config options
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
a7aa91739f
make warning and slight changes to DEPLOY.md for conduwuit
...
this is not finished yet
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-25 19:28:33 -05:00
strawberry
fae00e5136
remove rocksdb_max_open_files option
...
default for RocksDB is -1 and conduwuit already raises the
soft and hard nofile limits at startup.
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
c83acabfb0
return proper error if we fail to convert to canonical JSON
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-17 23:57:45 -05:00
strawberry
3d6b499b88
log error and PDU for failed auth checks
...
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
de303d9480
update rust toolchain in flake
...
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
6063a671c3
bump MSRV to 1.75.0 for latest ruma
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-17 14:26:26 -05:00
strawberry
632276ae99
bump ruma to aa3acd88d21dfbb7595f54e619f52761bcb0259e
...
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
1f117582ca
update all transitive dependencies (cargo update)
...
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
ad1d272e2a
fix blocks_in_conditions clippy lint
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-17 14:26:26 -05:00
strawberry
8d42351e34
add presence options to show-config admin cmd
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-17 14:26:26 -05:00
strawberry
0252e9c2c7
split max build optimisations into release-high-perf build profile
...
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
efa6308172
actually we can remove loole (for now) and crossbeam
...
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
ef10a2df36
add more lints, bump image and crossbeam
...
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
4d410d7304
update DIFFERENCES.md
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry and Jacob Taylor
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 https://gitlab.com/Aranjedeath/conduit/-/commit/11357d1f1af27b0cbd06ee2d8431bd965bc6d95e
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
c70ce49ec0
don't allow non-local users to have their creds modified in Deactivate admin cmds
...
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
da539efb98
only follow up to 6 redirects in default reqwest ClientBuilder
...
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
acc0bdad1a
update rocksdb to 8.10.0
...
https://github.com/rust-rocksdb/rust-rocksdb/pull/852
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
424f02466c
DIFFERENCES.md: suggest servers to join via at room directory
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
0b0b52c33b
add all possible workspace clippy lints (with commenting out most for now)
...
this will be a major pain to work through. for now, let's
just add them and overtime work through these.
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
da3ac7a2f1
deps updates again
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
15ffc4951e
oops forgot to bump 1.70.0 in flake and gitlab dockerfile
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
8e569b8d29
we also support webp images
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
6ea07da24d
nix: update flake
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
468e5a48f3
add more stuff to DIFFERENCES.md
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
ee2f1c3084
the great persy, sled, and heed purge (and bump MSRV to 1.74.1)
...
these database backends are either unmaintained, broken in conduit, or
incredibly niche for something like conduwuit.
also i want to bump the MSRV.
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
c75674faf5
bump default_presence_offline_timeout to 30 minutes (too low imo)
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
966cca25f1
bump conduwuit version as we've made a lot of changes
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-14 20:55:56 -05:00
strawberry
85b2c6681b
allow HEAD HTTP requests in CORS
...
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
830cd0e6d7
document we shutdown cleaner and safer
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-09 12:24:42 -05:00
strawberry
7021c52c9b
send a User-Agent on all requests
...
amazing that this wasn't done in the first place. a lack of a UA is
suspicious and some providers may block our requests just for the sake
of no UA.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-07 22:26:27 -05:00
strawberry
aa40e07d2d
add some new things/fixes to DIFFERENCES.md
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-01-07 22:26:27 -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