Commit Graph

290 Commits (566dc0a6a2b1aec4c64000392e518ecfe0e3e450)

Author SHA1 Message Date
Timo Kösters 226045ea4b
improvement: warning on misconfigured reverse proxy 3 years ago
Jonas Platte d8b484beed
Upgrade ruma 3 years ago
Timo Kösters 6e84d317b2
improvement: update ruma 3 years ago
Timo Kösters 1f84013b2a
feat: verify signatures for incoming requests 3 years ago
Timo Kösters 8c72909bb8 Merge branch 'tls-name' into 'master'
Validate TLS certificates according to Matrix spec

See merge request famedly/conduit!60
3 years ago
Timo Kösters 2f440e644d
fix: clippy 3 years ago
Timo Kösters 71ed1b295a
feat: /devices route 3 years ago
Gabriel Souza Franco ed253e236c chore: document FedDest, fix tests 3 years ago
Timo Kösters d4e0ba245b
fix: bug when fetching events over federation 3 years ago
Timo Kösters eedac4fd96
feat: make_join, send_join and /directory 3 years ago
Gabriel Souza Franco 7faa021ff5 chore: code formatting and cleanup 3 years ago
Gabriel Souza Franco b4c001de2f chore: cleanup string-based code in find_actual_destination 3 years ago
Gabriel Souza Franco 0b56589dce feat: add handling of tls cert for delegated hosts 3 years ago
Timo Kösters c1953efa6b
chore: code cleanup 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 8773e5013d
feat: incoming invites over federation 3 years ago
Timo Kösters 588de12d79
fix: lost forward extremity 3 years ago
Timo Kösters f3f95a73d0
improvement: /event route 3 years ago
Jonas Platte dc031fff95
Remove redundant calls to .iter() and .into_iter() 3 years ago
Timo Kösters db7044a950
sytest test 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 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 f775c76d8a
chore: get rid of warnings 3 years ago
Gabriel Souza Franco 7b3fe88345
Send proper Host header in federation requests 3 years ago
Timo Kösters a77fcd106e
feat: implement /state_ids and fix federation stuff 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 6da40225bb
improvement: make state res actually work 3 years ago
Devin Ragotzy d0df8b495c Merge remote-tracking branch 'upstream/master' into correct-sendtxn 3 years ago
Devin Ragotzy e239014fa3 Query for the correct server 3 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
3 years ago
Rudi Floren 231c6032f4 Make clippy happy (needless-return, etc.) 3 years ago
Timo Kösters 437cb5783a
fix: apply the same appservice sending rules to events coming from federation
currently this code is duplicated from database/rooms.rs, when we
refactor server_server.rs we should deduplicate it
3 years ago
Timo Kösters 4155a47db1
feat: opentelemetry/jaeger support 3 years ago
Devin Ragotzy 79c9de98cd Add trusted_servers, filter servers to query keys by trusted_servers 3 years ago
Devin Ragotzy c9f4ff5cf8 Ask multiple servers for keys when not known or sending server failed 3 years ago
Devin Ragotzy 8f283510aa Fix unused import clippy warning 3 years ago
Devin Ragotzy 48601142f8 Use auth_cache to avoid db, save state for every event when joining 3 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.
3 years ago
Devin Ragotzy 591769d5f3 Fiter PDU's before main incoming PDU loop 3 years ago
Devin Ragotzy 64374b4679 Use eventId when saving outliers 3 years ago
Devin Ragotzy e09be2f7ee Add incoming event to the current room state then resolve
All state snapshots that are used in the resolve call are state after
snapshots, they have the event inserted.
3 years ago
Devin Ragotzy 6661de50ab Fix and integrate outlier tree, build forks after adding event to DB 3 years ago
Devin Ragotzy 6fd3e1d1dd Append state event that pass resolution to DB, update to tokio 1.1 3 years ago
Devin Ragotzy e0453e2348 Cleanup dbg prints and error messages 3 years ago
Devin Ragotzy 68f60933e6 Resolved state is set as the current room state on incoming events 3 years ago
Devin Ragotzy 05a4c0b325 Finish forward extremity gathering, use resolved state as new snapshot 3 years ago
Devin Ragotzy 88c60605b4 Add ability to update room leaves with multiple eventIds
Tokio seems a bit broken with Rocket...
3 years ago
Devin Ragotzy 7309b2fba9 WIP gather and update forward extremities 3 years ago
Devin Ragotzy 94da569119 Fixing the incoming events algorithm (review with time) 3 years ago
Devin Ragotzy db0aee3318 Use the auth_events for step 6, WIP forward_extremity_ids fn 3 years ago
Devin Ragotzy 4b2eb5ab82 Fix ALL clippy warnings 3 years ago
Devin Ragotzy 4cf530c55b Abstract event validation/fetching, add outlier and signing key DB trees
Fixed the miss named commented out keys in conduit-example.toml.
3 years ago
Devin Ragotzy 52392628e9 Convert uses of Box<ServerName> to a ref 3 years ago
Devin Ragotzy d108a735a4 State resolution outline for /send 3 years ago
Devin Ragotzy d0b8d0f5fd Fix signature/hash checks, fetch recursive auth events 3 years ago
Devin Ragotzy 168ae8dca0 Fill event_map with all events that will be needed for resolution 3 years ago
Devin Ragotzy 8de0d9f9ce Remove StateStore trait from state-res collect events needed 3 years ago
Devin Ragotzy cdeb1236a2 Fix clippy warnings remove unused imports 3 years ago
Devin Ragotzy 63af3d3da0 Step 5 in /send just fetches state from incoming server 3 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
3 years ago
Devin Ragotzy 4a92a29b56 State resolution outline for /send 3 years ago
Timo Kösters 6924dfc8ea
improvement: better appservice compatibility and optimizations 3 years ago
Timo Kösters b4818716b8
improvement: better deploy guide 4 years ago
Timo Kösters 85364a9c27
improvement: change federation_enabled to federation_disabled
This enables federation by default
4 years ago
Timo Kösters edfd3c1f34
improvement: better config, better logs 4 years ago
Timo Kösters df16b2ba98
fix: rare state races 4 years ago
Timo Kösters 2cf6fd57b7
improvement: don't send pdus to appservices if it isn't interested
TODO: we need to send pdus if a user of the appservice is in the room
but not the appservice user itself
4 years ago
Leonhard Kuboschek 8dcc1dfe56
improvement: always use port from SRV lookups
Also query SRV records when well-known is not found, fixes #29
4 years ago
Timo Kösters f12fbca3c5
fix: send state in /sync, element displays wrong membership changes 4 years ago
Timo Kösters 6606e41dde
feat: improved state store 4 years ago
Timo Kösters 6e5b35ea92
feat: implement appservices
this also reverts some stateres changes
4 years ago
Timo Kösters d62f17a91a
improvement: cache actual destination 4 years ago
Timo Kösters 45086b54b3
improvement: upgrade dependencies, fix timeline reload bug 4 years ago
Devin Ragotzy 164b1633d8
Update ruma to latest, renamed server keys and removed PduStub 4 years ago
Devin Ragotzy b869aab5d0
Cleanup removing debug printing and logging, append non state events 4 years ago
Devin Ragotzy 27e686f9ff
Convert uses of serde_json::Value to CanonicalJsonObject 4 years ago
Devin Ragotzy bb24f6ad90
Address some review issues fmt, errors, comments 4 years ago
Devin Ragotzy 86bb93f8cf
Remove outdated TODOs, use StateEvent::from_id_value consistently 4 years ago
Devin Ragotzy 234b226468
Fix review issues, Remove EventHash's in prev/auth_events in StateEvent
The latest state-res crate uses ruma's PduRoomV3 PDU's which don't have
tuples of (EventId, EventHashs) like previous versions did (this was
left from rebasing onto master). The Media DB
now takes an optional content_type like the updated ruma structs.
4 years ago
Devin Ragotzy acd144e934
Fix get_closest_parent and cleanup federation/send/:txn 4 years ago
Devin Ragotzy eca0bbb35a
Fix federated join miss hashing the join event created 4 years ago
Devin Ragotzy dcd1163806
All outgoing pdus in Sending must be PduStubs 4 years ago
Devin Ragotzy c9a6ce54cb
Add basic handling of EDUs for /send/txn 4 years ago
Devin Ragotzy db8a0c5d69
Add closest_parent method to Rooms Db insert in order /send pdus 4 years ago
Devin Ragotzy 96dd3b2880
Update ruma to latest, fix unstable origin feature in ruma 4 years ago
Timo Kösters 6e36081573
improvement: more logging 4 years ago
Timo Kösters 9439f2c183
feat: send logs into admin room
Log entries will automatically be deduplicated, so a message won't be
sent if the same line has already been sent in the last 30 mins
4 years ago
Timo Kösters 9f8cffcd22
Admin room improvements 4 years ago
Timo Kösters 2f5df4aac9
improvement: more reliable federation sending 4 years ago
Timo Kösters 6bb8284fc0
improvement: correct thumbnailing algorithm 4 years ago
Timo Kösters 12b0efac8b
fix: random timeline reloads 4 years ago
Timo Kösters 9d1387954f
Update dependencies, remove dbgs 4 years ago
Timo Kösters 304c53c4f5
style: make clippy happier 4 years ago
Timo Kösters 6afc4c9b3e
feat: federation disabled by default
It can be enable in the Rocket.toml config or using ROCKET_FEDERATION_ENABLED=true
4 years ago
Timo Kösters bcd1fe1856
feat: admin room 4 years ago
Timo Kösters 0d6159c2da
improvement: get_missing_events route and cleanup 4 years ago
Timo Kösters ab332363ce
fix: don't send new requests to servers if we are already waiting 4 years ago
Timo Kösters e08dfd982b
improvement: look at SRV record when sending requests 4 years ago
Timo Kösters ea3aaa6b5c
improvement: more efficient /sync with gaps 4 years ago
Timo Kösters a567cd81d5
improvement: better logs on deserialization errors 4 years ago
Timo Kösters dd749b8aee
fix: server keys and destination resolution when server name contains port 4 years ago
Timo Kösters 005e00e9b1
fix: remove well-known 4 years ago
Timo Kösters 0b263208e3
fix: don't panic on bad server names 4 years ago
Timo Kösters 71500b14b9
fix: send to all servers and fix media store 4 years ago
Timo Kösters f7816b11de
feat: send messages over federation 4 years ago
Timo Kösters 4e44fedbcd
fix: room list over federation 4 years ago
Timo Kösters c5313b3e8f
improvement: try out multiple servers when joining remote rooms 4 years ago
Timo Kösters 1f292c09f2
improvement: better federation joins 4 years ago
Timo Kösters 1f28434988
feat: hacky transactions 4 years ago
Timo Kösters 12a8c9badd
fix: join rooms over federation 4 years ago
Timo Kösters 1e8fbd8d50
Update ruma version 4 years ago
Devin Ragotzy 27ffe77823 Use helper instead of route for get_public_rooms_filtered 4 years ago
Devin Ragotzy c4f5a0a631 Keep track of State at event for state resolution
feat: first steps towards joining rooms over federation
Add state-res as a dependency of conduit
Add reverse_topological_power_sort before append_pdu
Implement statehashstatid_pduid tree for keeping track of state
Clean up implementation of state_hash as key for tracking state
4 years ago
Timo 4be68eba76
feat: allow querying conduit's room list over federation 4 years ago
Timo 04eee089e0
feat: first steps towards joining rooms over federation 4 years ago
Devin Ragotzy e6a1b0b66f
Add cfg_attr gate to server_server endpoints 4 years ago
Jonas Platte 7526fd8602
Switch to the ruma meta-crate 4 years ago
timokoesters 18bf67748c
feat: redaction 4 years ago
timokoesters 7fc71b3968
feat: end to end encryption 4 years ago
Rudi Floren 00a9424719
feat: sytests 4 years ago
timokoesters ee0d6940bd
feat: presence updates 4 years ago
timokoesters 8f67c01efd
refactor: split database into multiple files, more error handling, cleaner code 4 years ago
timokoesters 169dbe6c37
fix: send full state after joining a room 4 years ago
timokoesters fd1aea7e36
Update dependencies 4 years ago
timokoesters 4cc0a07092
feat: user renaming 4 years ago
timokoesters 720cc0cffc
feat: federated room directory 4 years ago
timokoesters 120b6f4b95
Bump dependencies and fixes 4 years ago
timokoesters 873d191569
fix: http body as content when signing 4 years ago
timokoesters 1af6dd984a
More work on federation 4 years ago
timokoesters b0d9ccdb2d
Signing, basis for federation 4 years ago
timokoesters 80ddf80f17
work 4 years ago