Commit Graph

334 Commits (db0659cb3db588f3ef08aad866e9f0e631bf8dcb)

Author SHA1 Message Date
Jonathan de Jong 8335f44bfe Set nicer displayname 3 years ago
Ahmed Charles 879aeafa9e Add support for a minimal `r0/account/3pid`. 3 years ago
Kurt Roeckx 989a20e99c Support creating rooms with a version 3 years ago
Timo Kösters 902404d48d
improvement: save member count + sled fixes 3 years ago
Timo Kösters 0eeba86b32
fix: improve locks 3 years ago
Timo Kösters bd63797213
improvement: make better use of sqlite connections 3 years ago
Timo Kösters 5df6b8cd5f
improvement: better account data implementation 3 years ago
Timo Kösters 5c776e9ba7
feat: heed db backend (LMDB) 3 years ago
Timo Kösters 5e924227b6
feat: add threadpool for iterator threads, bug fixes, tracing_flame support 3 years ago
Timo Kösters e0072eff63 Merge branch 'v5' into 'master'
feat: support room version 5

See merge request famedly/conduit!138
3 years ago
Timo Kösters cae2b200cc Merge branch 'initial_state_keys' into 'master'
Implement From<AnyInitialStateEvent> on PduBuilder

Closes #116

See merge request famedly/conduit!136
3 years ago
Timo Kösters 918df9ca6d
feat: support room version 5 3 years ago
Kurt Roeckx 0d33cc4acd Implement getting room aliases
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
3 years ago
phesch 666e1d30a3 Implement From<AnyInitialStateEvent> on PduBuilder
The conversion between the two is now direct and thus shouldn't lose the state_keys.
3 years ago
Timo Kösters 1587f2cd52
fix: check events in timeline (not only state) for member changes 3 years ago
Timo Kösters fe3b5d32a7
feat: send to-device events over federation 3 years ago
Timo Kösters e20f55970e
feat: call /query/profile over federation when local user asks 3 years ago
Timo Kösters 728e176a06
feat: /keys/query and /keys/claim over federation 3 years ago
Timo Kösters 68cc743f2a
fix: use get_auth_chain method more often 3 years ago
Timo Kösters 56e5d5e3d2
fix: add warning for strange bug 3 years ago
Timo Kösters f0ac7ed933
chore: update ruma again 3 years ago
Timo Kösters cfaa900e83
improvement: auth chain cache 3 years ago
Timo Kösters f5273f7eb1
improvement: upgrade ruma and implement blurhashes 3 years ago
Timo Kösters 0fcefa4125
fix: ruma 3 years ago
Timo Kösters e12b1ff863
improvement: locks 3 years ago
Timo Kösters e15e6d4405
improvement: efficient /sync, mutex for federation transactions 3 years ago
Timo Kösters 1c25492a7e
fix: stuck messages
Conduit did not send the event in /sync because of a race condition.
There is a brief moment in time where Conduit accepted the event, but
did not store it yet. So when the client /syncs it updates the since
token without sending the event. I hope I fixed it by significantly
shortening the race-condition period.
3 years ago
Timo Kösters 8c44312485
fix: e2ee verification 3 years ago
Jonathan de Jong e1b89c1248 apply lint suggestions and version bump 3 years ago
Jonathan de Jong 9d4fa9a220 Sqlite 3 years ago
Kurt Roeckx dcb5e5900f Getting capabilities requires authentication 3 years ago
Timo Kösters 4732aa6782 Merge branch 'invalid_utf8' into 'master'
Return proper error in case of invalid UTF-8

See merge request famedly/conduit!110
3 years ago
Kurt Roeckx 699f77671f Return proper error in case of invalid UTF-8 in json_body
json_body is used in places that need authentication. In
case an unknown field is set, Ruma doesn't parse the field
and so doesn't give an error on invalid UTF-8. But Conduit
has parsed and on error makes json_body None. Return an
error to the client instead of generating an internal error.
3 years ago
Devin Ragotzy 98f1480e2b
Remove auth_cache using a closure to fetch events in state-res 3 years ago
Timo Kösters 05821d6fd5
improvement: pdu cache, /sync cache 3 years ago
Timo Kösters dcac1361ec
improvement: /search works for multiple rooms 3 years ago
Timo Kösters fee7d3d2e3 Merge branch 'allow_appservice_registration' into 'master'
Always allow appservices to register new users

See merge request famedly/conduit!105
3 years ago
phesch 637d9d3b6f Always allow appservices to register new users 3 years ago
Jonas Platte 808741bcb6
Remove unnecessary Option-wrapping and successive unwrapping 3 years ago
Jonas Platte b291e76572
Use try operator for Option more 3 years ago
Jonas Platte f3e630c064
Fix lots of clippy lints 3 years ago
Jonas Platte af2ce5803e
Remove pointless double deserialization 3 years ago
Jonas Platte 7fa54e4411
Use Ruma-provided default power levels for shorter code 3 years ago
Jonas Platte f6046871f4
Upgrade Ruma 3 years ago
Timo Kösters 77a23f8969
improvement: filter our room directory
Fixes #35
3 years ago
Timo Kösters e8f6708927
improvement: show more users in our user directory 3 years ago
Timo Kösters cd4bc520d8
improvement: feature flags for sled, rocksdb 3 years ago
hamidreza kalbasi 804105479c
fix fmt and clippy warnings 3 years ago
hamidreza kalbasi 972caacdc2
put media in filesystem 3 years ago
Timo Kösters d0ee823254
feat: swappable database backend 3 years ago
Timo Kösters 88cf043f94
fix: deactivate accounts that should be deactivated 3 years ago
Timo Kösters 59dd3676d5
fix: putting global account data works now 3 years ago
Timo Kösters deacdf6f58
fix: is_direct for locally invited users 3 years ago
Timo Kösters 5b5cc0574e
feat: implement /claim, handle to-device events 3 years ago
Timo Kösters 90cd11d850
fix: Forbidden instead of InvalidParam when joining 3 years ago
Timo Kösters 9b77eb7bb7
fix: too many syncs 3 years ago
Timo Kösters 3e2f742f30
fix: room version warnings and other bugs when joining rooms 3 years ago
Timo Kösters 989d843c40
fix: unauthorized pdus will be responded to with FORBIDDEN 3 years ago
Timo Kösters 09157b2096
improvement: federation get_keys and optimize signingkey storage
- get encryption keys over federation
- optimize signing key storage
- rate limit parsing of bad events
- rate limit signature fetching
- dependency bumps
3 years ago
Timo Kösters 8f27e6123b
feat: send read receipts over federation
currently they will only be sent if a PDU has to be sent as well
3 years ago
Timo Kösters 24793891e0
feat: implement GET /presence 3 years ago
Timo Kösters f62258ba35
improvement: bug fixes and refactors
- power level content override adds to the default event instead of
replacing it
- sending code refactored to make edus possible
- remove presence events when restarting conduit
- remove room_id field from read receipts over /sync
- handle incoming read receipts
- fix array bounds bug in server_server.rs
3 years ago
Jonas Platte a0457000ff
Upgrade Ruma 3 years ago
Timo Kösters cf94b8e712
improvement: uiaa works like in synapse 3 years ago
Jonas Platte e1c4e5c73e
Return only event content in account_data endpoints, not the entire event 3 years ago
Jonas Platte c28eba1e5b
Bump ruma 3 years ago
Jonas Platte 61c522dcc0
Fix formatting 3 years ago
Jonas Platte b76af682a6
Fix clippy warnings 3 years ago
Timo Kösters 3c3062a316
improvement: optimize room directory 3 years ago
Jonas Platte 2e1d7d12ca
Refactor usage of CanonicalJsonValue 3 years ago
Timo Kösters 58463bba93
feat: send invites over federation 3 years ago
Timo Kösters 6e84d317b2
improvement: update ruma 3 years ago
Timo Kösters e815486030
fix: don't allow inviting other users (not implemented yet) 3 years ago
Timo Kösters eedac4fd96
feat: make_join, send_join and /directory 3 years ago
Timo Kösters bc98425dfe
improvement: use invite state as hints to what servers to ask for joining 3 years ago
Timo Kösters c1953efa6b
chore: code cleanup 3 years ago
Timo Kösters abddfc2d2a
Merge remote-tracking branch 'famedly/master' into develop 3 years ago
Timo Kösters 5951294638
feat: join cursed rooms
this removes several restrictions and tries to continue verifying a pdu
event if some auth events fail (it drops/ignores bad pdus)
3 years ago
Timo Kösters 8b40e0a85f
improvement: fetch signing keys in parallel when joining a room 3 years ago
Timo Kösters 5049d0e01b
improvement: check signatures on join 3 years ago
Timo Kösters b4f79b77ba
feat: reject invites over federation 3 years ago
Timo Kösters 662a0cf1df
improvement: better and more efficient message count calculation 3 years ago
Timo Kösters 1dc85895a7
fix: show warning for invalid user ids 3 years ago
Timo Kösters 8773e5013d
feat: incoming invites over federation 3 years ago
Timo Kösters 84f4ce73e5
fix: membership deserializing 3 years ago
Jonas Platte fe744c856f
Upgrade ruma
… and refactor push rule code along the way.
3 years ago
Timo Kösters cd4dc13731
fix: use correct room versions 3 years ago
Timo Kösters c213769d9f
improvement: refactor state res and fix a few bugs in the process 3 years ago
Timo Kösters 16eed1d8c2
chore: get rid of warnings 3 years ago
Timo Kösters e50f2864de
improvement: save state for send_join pdu 3 years ago
Timo Kösters e305889b72
feat: room_account_data endpoints 3 years ago
Timo Kösters 1d00a8c41f
improvement: better logging
Use CONDUIT_LOG or the log setting in the config
3 years ago
Timo Kösters 46d8f36a2c
fix: media thumbnail calculation and appservice detection 3 years ago
Timo Kösters 3ea7d162db
fix: various improvements and fixes 3 years ago
Timo Kösters 363c629faf
fix: signature key fetching, optimize push sending 3 years ago
Timo Kösters d4c76f4654
chore: update ruma 3 years ago
Timo Kösters f775c76d8a
chore: get rid of warnings 3 years ago
Timo Kösters a0fa0ee7a0
fix: join appservice room with alias 3 years ago
Timo Kösters 100307c936
improvement: optimize state storage 3 years ago
Timo Kösters 44425a903a
fix: multiple federation/pusher fixes 3 years ago
Timo Kösters 21f785d530
Merge branch 'correct-sendtxn' into pushers 3 years ago
Timo Kösters 6da40225bb
improvement: make state res actually work 3 years ago
Devin Ragotzy d0df8b495c Merge remote-tracking branch 'upstream/master' into correct-sendtxn 4 years ago
Timo Kösters bd6507eafb Merge branch 'valkum-master-patch-25423' into 'master'
Make clippy happy (needless-return, etc.)

See merge request famedly/conduit!23
4 years ago
Rudi Floren 231c6032f4 Make clippy happy (needless-return, etc.) 4 years ago
Timo Kösters 105f893cf3
chore: bump other dependencies to make it work 4 years ago
Rudi Floren f4039902d8 Bump Rocket to current HEAD 4 years ago
Timo Kösters f2ec2be821
fix: don't always query aliases of appservices
only do so if the alias matches the regex in the registration file
4 years ago
Timo Kösters 4155a47db1
feat: opentelemetry/jaeger support 4 years ago
Timo Kösters dd68031b69
improvement: implement /receipt 4 years ago
Devin Ragotzy 0dd8a15c49 Fix leaves not being replaced by correct eventId in membership
Update ruma
4 years ago
Devin Ragotzy 8f283510aa Fix unused import clippy warning 4 years ago
Devin Ragotzy 48601142f8 Use auth_cache to avoid db, save state for every event when joining 4 years ago
Devin Ragotzy 74d530ae0e Address review issues, fix forward extremity calc
Keep track of all prev_events since if we know that an event is a
prev_event it is referenced and does not qualify as a forward extremity.
4 years ago
Devin Ragotzy 64374b4679 Use eventId when saving outliers 4 years ago
Devin Ragotzy 6fd3e1d1dd Append state event that pass resolution to DB, update to tokio 1.1 4 years ago
Timo Kösters 602edfd849 feature: push rule settings 4 years ago
Devin Ragotzy 88c60605b4 Add ability to update room leaves with multiple eventIds
Tokio seems a bit broken with Rocket...
4 years ago
Devin Ragotzy 66af1ff695 Update ruma and rocket to latest git rev and tokio to 1.0
Ruma updated the event signing validation code and there was a dep
resolving failure with serde rocket and tokio so I updated rocket latest and
tokio 1.0 to fix.
4 years ago
Devin Ragotzy 4b2eb5ab82 Fix ALL clippy warnings 4 years ago
Devin Ragotzy 52392628e9 Convert uses of Box<ServerName> to a ref 4 years ago
Devin Ragotzy d0b8d0f5fd Fix signature/hash checks, fetch recursive auth events 4 years ago
Devin Ragotzy 8de0d9f9ce Remove StateStore trait from state-res collect events needed 4 years ago
Devin Ragotzy cdeb1236a2 Fix clippy warnings remove unused imports 4 years ago
Devin Ragotzy 4b9976aa74 Update state-res, use the new Event trait
This also bumps ruma to latest and removes js_int infavor of the ruma
re-export
4 years ago
Timo Kösters d49911c5e0
Add 'm.login.token' authentication 4 years ago
Timo Kösters 3588dcd6d0 Merge branch 'deviceid-login' into 'master'
Handle optional device_id field during login

See merge request famedly/conduit!16
4 years ago
Timo Kösters 6924dfc8ea
improvement: better appservice compatibility and optimizations 4 years ago
Timo Kösters fd3fb3a7ed
Merge remote-tracking branch 'famedly/master' into appservices 4 years ago
Devin Ragotzy e4dc7ea8ac Prevent admin room from recursively spamming itself and user -> user 4 years ago
Devin Ragotzy 2d69e81699 WIP: send out push notification, impl pusher routes
It seems in order to test this I may also have to impl the email 3pid
route? I need to call the set_pusher route somehow.
4 years ago
Devin Ragotzy a0ecd76e21 Run cargo fmt using nightly 4 years ago
Devin Ragotzy cd0c5c0566 Append state event that pass resolution to DB, update to tokio 1.1 4 years ago
Timo Kösters 265fab843a
feature: push rule settings 4 years ago
Timo Kösters a119d858f3
feature: push rule settings 4 years ago
Devin Ragotzy a897608025 Roll back tokio and rocket update since ruma's request is at 0.2 tokio 4 years ago
Devin Ragotzy 3a6f264450 Add ability to update room leaves with multiple eventIds
Tokio seems a bit broken with Rocket...
4 years ago
Devin Ragotzy 00436a32b0 Update ruma and rocket to latest git rev and tokio to 1.0
Ruma updated the event signing validation code and there was a dep
resolving failure with serde rocket and tokio so I updated rocket latest and
tokio 1.0 to fix.
4 years ago
Devon Hudson 762255fa8d
Simplify device creation logic during login 4 years ago
Devon Hudson 890187e004
improvement: Handle optional device_id field during login
remove debug logging
4 years ago
Devon Hudson ebb38cd330
improvement: respect logout_devices param on password change
Move logout devices comment next to relevant loop

remove unnecessary log
4 years ago
Devin Ragotzy 5a8041969d Fix ALL clippy warnings 4 years ago
Devin Ragotzy 2ac3ffbb24 Convert uses of Box<ServerName> to a ref 4 years ago
Devin Ragotzy 27c4e9d9d5
Fix signature/hash checks, fetch recursive auth events 4 years ago
Devin Ragotzy 8a035880f0
Remove StateStore trait from state-res collect events needed 4 years ago
Devin Ragotzy 7c4d74bf9b
Fix clippy warnings remove unused imports 4 years ago
Devin Ragotzy 9e83d2b2d5
Update state-res, use the new Event trait
This also bumps ruma to latest and removes js_int infavor of the ruma
re-export
4 years ago
Timo Kösters ad7b3f184b
improvement: send 200 response for turn server info
We didn't implement it, but this will stop clients from retrying the
endpoint every minute
4 years ago
Timo Kösters b4818716b8
improvement: better deploy guide 4 years ago
Timo Kösters edfd3c1f34
improvement: better config, better logs 4 years ago