Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions proposals/4344-strike-deprecated-srv.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implementation requirements:

  • Data to show the SRV name isn't depended upon by a statistically significant amount of servers

Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# MSC4344: Strike deprecated SRV service name
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure where to put it but since in the other thread the fed tester comes up I want to mention as another data point that https://connectivity-tester.mtrnord.blog/ does support both old and new SRV records at this time:

https://github.com/MTRNord/rust-federation-tester/blob/main/crates/server/src/utils.rs#L444

(see also DNS Resolution tab for https://connectivity-tester.mtrnord.blog/?serverName=4.msc4040.s.resolvematrix.dev )


The SRV service name `matrix` was deprecated by
[MSC4040](https://github.com/matrix-org/matrix-spec-proposals/pull/4040)
due to adverse possession. The replacement service name `matrix-fed`
became active on the same date of August 19, 2023. After an elapsed
grace-period of two years, the deprecated service name is to be stricken
from the specification.
Comment on lines +5 to +8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to either see data on whether there's been enough time, or matrix-org/matrix-federation-tester#142 deployed for some time (or ideally, both).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I would consider a working implementation of matrix-org/matrix-federation-tester#142 a blocker for this.

Frankly, I think it was a mistake to have merged MSC4040 without updating the federation tester.


Upon activation of this change by the appropriate release-version of the
specification, implementations MUST NOT query for records using the
deprecated service name. Implementations MAY perform a Server Name
Resolution seeking their own domain for the purpose of alerting
administrators to the stricken record's use, and encourage removal.

### Potential Issues

Deployments which have not updated their name service records during the
grace-period will no longer be reachable over the federation.

### Alternatives

The service name retains its deprecated-but-active status quo: this
maintains a considerable amount of wasteful overhead within the Server
Name Resolution process. Due to the lack of necessity for this method of
indirection after the introduction of
[MSC1708](https://github.com/matrix-org/matrix-spec-proposals/pull/1708),
both the replacement and deprecated service names are often queried with
negative results, potentially doubling the load on the name service.

### Security Considerations

Deployments which are made unreachable by this proposal (see: Potential
Issues) will no longer have their federation public keys directly
obtainable, introducing non-zero exposure to matrix-spec/#383 during the
window of domain record replacement.