Merge pull request #2451 from matrix-org/clokep/remove-old-fed-endpoint
MSC2451: Remove `query_auth` federation endpoint.pull/977/head
commit
ef1032ee32
@ -0,0 +1,56 @@
|
||||
# MSC2451: Remove the `query_auth` federation endpoint
|
||||
|
||||
This API was added without sufficient thought nor testing. The endpoint isn't
|
||||
used in any known implementations, and we do not believe it to be necessary
|
||||
for federation to work. The only known implementation (in Synapse) was not fully
|
||||
fleshed out and is broken.
|
||||
|
||||
For background, the idea behind this endpoint was that two homeservers would be
|
||||
able to share state events with the hope of filling in missing state from one
|
||||
of homeservers allowing state resolution to complete. This was to protect
|
||||
against a joining server not providing the full (or providing stale) state.
|
||||
|
||||
In addition to the ideas above not coming to fruition, it is unclear whether the
|
||||
current design of this endpoint would be sufficient. If this state negotiation
|
||||
feature is needed in the future it should be redesigned from scratch via the MSC
|
||||
proposal process.
|
||||
|
||||
## Proposal
|
||||
|
||||
Remove the following endpoint:
|
||||
|
||||
* [POST `/_matrix/federation/v1/query_auth/{roomId}/{eventId}`](https://matrix.org/docs/spec/server_server/r0.1.3#post-matrix-federation-v1-query-auth-roomid-eventid)
|
||||
|
||||
## Potential issues
|
||||
|
||||
Removing this endpoint impacts backwards compatibility, in practice removing
|
||||
this endpoint should have minimal impact as it was an unused error path in
|
||||
Synapse. The federation client code to call this endpoint was removed in Synapse
|
||||
v1.5.0rc1.
|
||||
|
||||
There is no evidence of other homeserver implementations having implemented this
|
||||
endpoint.
|
||||
|
||||
### History
|
||||
|
||||
This endpoint (and the federation client code) to call it was initially
|
||||
added in Synapse v0.7.0 (see [#43](https://github.com/matrix-org/synapse/pull/43)).
|
||||
The federation client code was heavily modified for v1.0.0rc1 (see
|
||||
[#5227](https://github.com/matrix-org/synapse/pull/5227/)),
|
||||
|
||||
The federation client code to call this endpoint was removed in v1.5.0rc1 of
|
||||
Synapse (see [#6214](https://github.com/matrix-org/synapse/pull/6214). After
|
||||
that point this endpoint is not called).
|
||||
|
||||
During removal it was noted that the code to call this endpoint was already
|
||||
unreachable. It seems that this code was never reachable and was meant for an
|
||||
error situation which was never built out (see `git log -S NOT_ANCESTOR`, the
|
||||
error condition is never assigned).
|
||||
|
||||
## Alternatives
|
||||
|
||||
The endpoint could be deprecated and removed in a future version of the specification.
|
||||
|
||||
## Security considerations
|
||||
|
||||
None.
|
Loading…
Reference in New Issue