Commit Graph

71 Commits (bdccfca72679a22bc67b5ad522ed7e324067f5e3)

Author SHA1 Message Date
Travis Ralston 8e97b0ca81 Improve the server key exchange portion of the s2s specification
Most of the text has been shuffled into the swagger definitions to bring it closer to where it matters.

This also attempts to clarify what is out in the wild. Most importantly, the first version of the key exchange is outright removed from the specification. Other research points/questions are:

* What is a "Key ID"?
  * 1241156c82/synapse/rest/key/v2/local_key_resource.py (L81-L83)
  * 1241156c82/synapse/rest/key/v2/local_key_resource.py (L88-L91)
* Returning a cached response if the server throws a 400, 500, or otherwise not-offline status code
  * 1241156c82/synapse/rest/key/v2/remote_key_resource.py (L227-L229)
* `minimum_valid_until_ts` default
  * This branch of the ladder: 1241156c82/synapse/rest/key/v2/remote_key_resource.py (L192)
* Returning empty arrays when querying offline/no servers
  * Queried by hand against matrix.org as a notary server with a fake domain name to query
* Returning all keys even when querying for specific keys
  * Queried by hand using matrix.org as a notary server against a server publishing multiple keys.

The examples and descriptions were also improved as part of this commit.
6 years ago
Travis Ralston 004998b98f Convert invites to swagger
The whole section reads like a description for the endpoint, and has been replaced by the swagger definition now (rather than at a later stage). All the same information should be kept.
6 years ago
Travis Ralston f09c4fd286 Convert joins to swagger 6 years ago
Travis Ralston cb4fcd1d09 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger 6 years ago
Travis Ralston 2aafde4549
Merge pull request #1419 from turt2live/travis/s2s/3pinvites-swagger
Convert third party invite exchange to swagger
6 years ago
Travis Ralston e226b60c7f Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger 6 years ago
Travis Ralston 7cb918407d Merge remote-tracking branch 'matrix-org/master' into travis/s2s/keys-swagger 6 years ago
Travis Ralston cf93c88337 Convert third party invite exchange to swagger 6 years ago
Travis Ralston 51faf8ed2e Convert the general query API to swagger
Includes "moving" the directory query API into the same area. This will make more sense once the other query types are specified.
6 years ago
Travis Ralston 374ec00046 Convert things that mention "Transaction" to swagger
There's two kinds of transactions currently: one with EDUs and one without. The one with EDUs is only used on /send, however the schema is still somewhat worth splitting out for simplicity.

The examples are brought apart to make them slightly more reusable for when they get dumped into the relevant sections of the spec (see TODO in server_server_api.rst)

Further, the Transactions stuff introduces tuples to the spec. The units.py has been updated to support this.
6 years ago
Travis Ralston 96889f16e9 Split out and fix the /server and /query key APIs 6 years ago
Travis Ralston bd2c0b7c98 Convert server keys to swagger 6 years ago
Travis Ralston 2fc2926461 Clearly say that the server/server API is unstable and subject to change 6 years ago
user 54c3003b74 newly joined -> newly-joined 6 years ago
user 5ab5fe08d1 Small grammatical and stylistic fixes 6 years ago
Andrew Morgan 2e5cdaf51c
Fix typo
"To stream events all the events" -> "To stream all the events"
6 years ago
Richard van der Hoff cefd1a832e
server_server_api: fix typo in auth section
fixes "destintation" typo
7 years ago
Richard van der Hoff 3dfa643b8b Fix membership state names
It's called 'join', not 'joined'.
7 years ago
Richard van der Hoff 15ca952cc3 remove spurious word 7 years ago
Richard van der Hoff 1fb7647021 send_join: clarify auth_chain description
The auth_chain field should contain all of the auth events required to auth the
state events, as well as those required to auth the join event itself.

(cf https://github.com/matrix-org/synapse/blob/e148438/synapse/handlers/federation.py#L1076-L1077).
7 years ago
Richard van der Hoff 08d137a588 We sign the request body, not the JSON
when signing federation requests, we put the actual request body into the
canonicaljson to be signed, not the JSON representation of it.
7 years ago
Richard van der Hoff 56f878842c Add a warning that state resolution has problems 7 years ago
Richard van der Hoff 5ab9ee6b88 Link to auth rules 7 years ago
Richard van der Hoff 0960229a80 Document the state resolution algorithm
or at least, my understanding of it.
7 years ago
Maxime Dor e8af5622a7 Use proper room event type for redaction 7 years ago
Richard van der Hoff 96d93e11d7
Tweak wording of auth rules slightly 7 years ago
Maxime Dor c4f53f58d7 Fix auth rules to allow first PL event 7 years ago
Richard van der Hoff 58a3fa3d60
Merge pull request #1075 from matrix-org/rav/pdu_fields
Improve documentation of Transactions and PDUs
7 years ago
Richard van der Hoff 6a653b742c Document auth_events 7 years ago
Richard van der Hoff 632ba032af Improve Transaction and PDU documentation
Fix a bunch of lies about the fields in these structures.
7 years ago
Marcus Medom Ryding 8a446fa6df Modify event auth rules not to rely on depth
Signed-off-by: Marcus Medom Ryding <mrok4a@gmail.com>
7 years ago
Maxime Dor bb50ec2e88 Document directory query endpoint 7 years ago
Maxime Dor 1045bc721d Document federation version endpoint 7 years ago
Richard van der Hoff 5fee8e54eb Document the event auth rules (#1027)
These are a necessary precursor to state resolution.
7 years ago
Richard van der Hoff cfb547b474 Fix perspectives project link
The perspectives project seems to be dead :/. We can at least link to the
wayback machine.
7 years ago
Brendan Abolivier 6b6a941e36
Phrasing 7 years ago
Brendan Abolivier 8de93147b1
Typo 7 years ago
Brendan Abolivier c71575c94d
Remove useless blank line 7 years ago
Brendan Abolivier 4a99691108
Move link to the bottom of the file 7 years ago
Brendan Abolivier 9d90fa2cae
Specify third-party invites 7 years ago
Brendan Abolivier af961321e9
Specify remote invite 7 years ago
Richard van der Hoff da686ba4eb Specification of unpadded Base64 8 years ago
Richard van der Hoff a091d86707 Merge pull request #775 from superdump/superdump/fed-pdu-state-update-fix
server-server api: Fix swapped pdu state update field descriptions
8 years ago
Robert Swain db26877eee server-server api: Fix swapped pdu state update field descriptions
Signed-off-by: Robert Swain <robert.swain@gmail.com>
8 years ago
Robert Swain 5855bf4b16 server-server: PDUs are signed by the origin server's private key
Not the public key.

Signed-off-by: Robert Swain <robert.swain@gmail.com>
8 years ago
Richard van der Hoff 3ee75af06f Move 'Signing JSON' to appendices
Canonical JSON and JSON signing in general are common to the C-S spec. Move
them to the appendices instead of the S-S spec.
8 years ago
Richard van der Hoff ebaaa7e3b3 Review feedback
* store-and-forward -> send-to-device
* describe motivation
* device ids are 10 capital chars
* etc
8 years ago
Richard van der Hoff ccd7bb32d5 Specification for direct-to-device messages 8 years ago
Richard van der Hoff 49cd65dd58 Add a license to the spec
We're licensing hte spec under ASLv2. Add the LICENSE file, and add the
short-form to as much of the source as is practical right now (adding it to
json source is a massive pita).
8 years ago
Richard van der Hoff 5cc9066159 Add git versions to other parts of the spec 9 years ago