aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-23keyserver: produce key change events (#1218)Kegsay
* Produce kafka events when keys are added * Consume key changes in syncapi with TODO markers for handling them and catching up * unbreak tests * Linting
2020-07-23currentstate: Add QuerySharedUsers (#1217)Kegsay
This will be used to determine who to send device list updates to. It can also be used to determine who to send presence info to.
2020-07-23Add UNIQUE constraint to blacklist table (#1216)Neil Alexander
2020-07-22Fix gobindKegan Dougal
2020-07-22Handle inbound federation E2E key queries/claims (#1215)Kegsay
* Handle inbound /keys/claim and /keys/query requests * Add display names to device key responses * Linting
2020-07-22Persistent federation sender blacklist (#1214)Neil Alexander
* Initial persistence of blacklists * Move statistics folder * Make MaxFederationRetries configurable * Set lower failure thresholds for Yggdrasil demos * Still write events into database for blacklisted hosts (they can be tidied up later) * Review comments
2020-07-21Perform outbound federation hits for querying/claiming E2E keys (#1212)Kegsay
* Perform outbound federation hits for querying/claiming E2E keys Untested currently because we need the receiving end to work before sytest will be happy. * Linting
2020-07-21Fix lint errorNeil Alexander
2020-07-21Use TransactionWriter in other component SQLite (#1209)Neil Alexander
* Use TransactionWriter on other component SQLites * Fix sync API tests * Fix panic in media API * Fix a couple of transactions * Fix wrong query, add some logging output * Add debug logging into StoreEvent * Adjust InsertRoomNID * Update logging
2020-07-21Implement claiming one-time keys locally (#1210)Kegsay
* Add API shape for claiming keys * Implement claiming one-time keys locally Fairly boring, nothing too special going on.
2020-07-21Use TransactionWriter in roomserver SQLite (#1208)Neil Alexander
2020-07-20Remove debug linesNeil Alexander
2020-07-20Deduplicate FS database, EDU persistence table (#1207)Neil Alexander
* Deduplicate FS database, add some EDU persistence groundwork * Extend TransactionWriter to use optional existing transaction, use that for FS SQLite database writes * Fix build due to bad keyserver import * Working EDU persistence * gocyclo, unsurprisingly * Remove unused * Update copyright notices
2020-07-20Adding the e2ekey database to the create_db script and docs (#1206)Creed Haymond
Signed-off-by: Creed Haymond <creedasaurus@gmail.com>
2020-07-16Don't block Yggdrasil switchNeil Alexander
2020-07-16Small fix to gobind buildNeil Alexander
2020-07-16Yggdrasil demo updates ("Bare QUIC")Neil Alexander
Squashed commit of the following: commit 86c2388e13ffdbabdd50cea205652dccc40e1860 Merge: b0a3ee6c f5e7e751 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 16 13:47:10 2020 +0100 Merge branch 'master' into neilalexander/yggbarequic commit b0a3ee6c5c063962384bb91c59ec753ddc8cfe5f Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 16 13:42:22 2020 +0100 Add support for broadcasting wake-up EDUs to known hosts commit 8a5c2020b3a4b705b5d5686a9e71990a49e6d471 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 16 13:42:10 2020 +0100 Bare QUIC demo working commit d3939b3d6568cf4262c0391486a5203873b68bfc Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Wed Jul 15 11:42:43 2020 +0100 Support bare Yggdrasil sessions with encrypted QUIC
2020-07-15Implement /keys/query locally (#1204)Kegsay
* Implement /keys/query locally * Fix sqlite tests and close rows
2020-07-15Fix panic when uploading keys (#1203)Kegsay
We don't return OTK counts when the client doesn't upload OTKs.
2020-07-15Protect User API SQLite calls with mutexes (#1201)Neil Alexander
* Protect SQLite calls with mutexes (replaces #1200) * Remove locks on reads
2020-07-15Implement key uploads (#1202)Kegsay
* Add storage layer for postgres/sqlite * Return OTK counts when inserting new keys * Hook up the key DB and make a test pass * Convert postgres queries to be sqlite queries * Blacklist test due to requiring rejected events * Unbreak tests * Update blacklist
2020-07-15Create FUNDING.ymlNeil Alexander
2020-07-14Implement logic for key uploads (#1197)Kegsay
* begin work on storing keys * Finish rough impl of the internal key API * Linting
2020-07-14Update README/docs (#1199)Kegsay
* Update README * Update docs
2020-07-14Send-to-device messages over federation (#1198)Neil Alexander
* Initial work to send send-to-device messages over federation * Wire up send-to-device consumer, message formatting * Generate random message ID * Review comments, update sytest whitelist
2020-07-14Bump GMSL version to fix sytestKegan Dougal
2020-07-13Add boilerplate for key server APIs (#1196)Kegsay
Also add a README which outilnes how things will work.
2020-07-13Update go.mod/go.sumNeil Alexander
2020-07-10Yggdrasil demo updatesNeil Alexander
Squashed commit of the following: commit 6c2c48f862c1b6f8e741c57804282eceffe02487 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Fri Jul 10 16:28:09 2020 +0100 Add README.md commit 5eeefdadf8e3881dd7a32559a92be49bd7ddaf47 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Fri Jul 10 10:18:50 2020 +0100 Fix wedge in federation sender commit e2ebffbfba25cf82378393940a613ec32bfb909f Merge: 0883ef88 abf26c12 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Fri Jul 10 09:51:23 2020 +0100 Merge branch 'master' into neilalexander/yggdrasil commit 0883ef8870e340f2ae9a0c37ed939dc2ab9911f6 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Fri Jul 10 09:51:06 2020 +0100 Adjust timeouts commit ba2d53199910f13b60cc892debe96a962e8c9acb Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 9 16:34:40 2020 +0100 Try to wake up from peers/sessions properly commit 73f42eb494741ba5b0e0cef43654708e3c8eb399 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 9 15:43:38 2020 +0100 Use TransactionWriter to reduce database lock issues on SQLite commit 08bfe63241a18c58c539c91b9f52edccda63a611 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 9 12:38:02 2020 +0100 Un-wedge federation Squashed commit of the following: commit aee933f8785e7a7998105f6090f514d18051a1bd Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 9 12:22:41 2020 +0100 Un-goroutine the goroutines commit 478374e5d18a3056cac6682ef9095d41352d1295 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 9 12:09:31 2020 +0100 Reduce federation sender wedges commit 40cc62c54d9e3a863868214c48b7c18e522a4772 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Thu Jul 9 10:02:52 2020 +0100 Handle switching in/out background more reliably
2020-07-10Add User-Interactive Authentication (#1193)Kegsay
* Add User-Interactive Authentication And use it when deleting a device. With tests. * Make remaining sytest pass * Linting * 403 not 401 on wrong user/pass
2020-07-09Use TransactionWriter to reduce database lock issues on SQLite (#1192)Neil Alexander
2020-07-09Reduce federation sender wedges (#1191)Neil Alexander
* Reduce federation sender wedges * Un-goroutine the goroutines
2020-07-08Finish implementing redactions (#1189)Kegsay
* Add a bit more logging to the fedsender * bugfix: continue sending PDUs if ones are added whilst sending another PDU Without this, the queue goes back to sleep on `<-oq.notifyPDUs` which won't fire because `pendingPDUs` is already > 0. This should fix a flakey sytest. * Break if no txn is sent * WIP syncapi work * More debugging * Bump GMSL version to pull in working Event.Redact * Remove logging * Make redactions work on v3+ * Fix more tests
2020-07-08linterNeil Alexander
2020-07-08Yet another v1 vs r0 media endpoint (#1190)Neil Alexander
2020-07-08Fix media path for iOS gobind buildNeil Alexander
2020-07-08Check error when setting static peerNeil Alexander
2020-07-08Set QUIC keepalive againNeil Alexander
2020-07-08Handle case where pendingPDUs might get out of sync for some reasonNeil Alexander
2020-07-08Squashed commit of the following:Neil Alexander
commit b4cb47aa1329d2ada10ae6426fd9d2a69f47536a Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Wed Jul 8 14:13:27 2020 +0100 Restrict transaction send context time commit 7c28205cdb5d842071d46b1ec599d09cca708e57 Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Wed Jul 8 14:00:06 2020 +0100 Add to gobind build commit d9e2c72e0576a2eb0ce6ac48eed6cc9d4761a0ea Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Wed Jul 8 13:43:21 2020 +0100 Wake up destination queues for new sessions/links commit 21766c6c52bd00511d28981457e9034358c32a8d Author: Neil Alexander <neilalexander@users.noreply.github.com> Date: Wed Jul 8 13:17:18 2020 +0100 Tweak QUIC parameters
2020-07-07Fix buildNeil Alexander
2020-07-07Fix error handling in federationsenderNeil Alexander
2020-07-07 bugfix: continue sending PDUs if ones are added whilst sending another PDU ↵Kegsay
(#1187) * Add a bit more logging to the fedsender * bugfix: continue sending PDUs if ones are added whilst sending another PDU Without this, the queue goes back to sleep on `<-oq.notifyPDUs` which won't fire because `pendingPDUs` is already > 0. This should fix a flakey sytest. * Break if no txn is sent * Tweak federation sender wake-ups * Update comments * Remove break or that'll kill the parent loop Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2020-07-07Fix static peer on Ygg demo buildNeil Alexander
2020-07-07Tweaks to Dendrite Yggdrasil demo setupNeil Alexander
2020-07-07Emit redacted_event from the roomserver when redactions are validated (#1186)Kegsay
* Emit redacted_event from the roomserver when redactions are validated - Consume them in the currentstateserver and act accordingly. - Add integration test for the roomserver to check that injecting `m.room.redaction` events result in `redacted_event` being emitted. * Linting * Ignore events that redact themselves
2020-07-07Fix MIME types for embedded Riot in Ygg demoNeil Alexander
2020-07-06Implement core redaction logic (#1185)Kegsay
* Implement core redaction logic - Add a new `redactions_table.go` which tracks the mapping of the redaction event ID and the redacted event ID - Mark redactions as 'validated' when we have both events. - When redactions are validated, add `unsigned.redacted_because` and modify the `eventJSON` accordingly. Note: We currently do NOT redact the event content - it's gated behind a feature flag - until we have tested redactions a bit more. * Linting
2020-07-06Fix Riot Web embedding into Yggdrasil demoNeil Alexander
2020-07-06Yggdrasil demo: Add Stop functionsNeil Alexander