syphon icon indicating copy to clipboard operation
syphon copied to clipboard

Check SRV record as alternative to .well-known

Open feinedsquirrel opened this issue 2 years ago • 4 comments

I asked in the syphon matrix room first to verify. This was my original question:

I removed my .well-known configuration from my home server, and set up a SRV record, deleted my home server database to start with a clean slate, and Syphon (android) gave me an error with something along the lines of ".well-known misconfiguration, unable to connect to server" while element let me connect and create a user without any hiccups.

I've done a text search through the current code base, did not find "SRV", and the few instances of "record" seem to be for other things.

It would be great to allow a proper SRV record to be a valid replacement for ".well-known". Thanks!

feinedsquirrel avatar Jul 23 '22 15:07 feinedsquirrel

As far as I know, SRV records are only for server-to-server federation. The .well-known solution was chosen because in-browser clients can't initiate DNS queries, so while the server-server API uses both SRV and .well-known, the client-server API uses only .well-known.

notramo avatar Jul 27 '22 12:07 notramo

As far as I know, SRV records are only for server-to-server federation.

Having re-read the spec, you're correct.

@ereio - do we continue with this, or drop?

EdGeraghty avatar Jul 28 '22 12:07 EdGeraghty

Oh shoot, @notramo is right. The client-server spec doesn't mention anything about SRV records. :facepalm:

feinedsquirrel avatar Aug 02 '22 22:08 feinedsquirrel

An MSC for clients to use SRV records has been rejected from the Spec upstream.

Given the code I wrote actually works I don't know whether we might want to include it anyway, or just drop it as not just out of spec but actively rejected.

EdGeraghty avatar Aug 04 '22 10:08 EdGeraghty

I don't mind safeguarding Syphon in ways that are out of spec. I already do this with Server to Server well known checks in case people forget or ignore the client well-known (and it has helped).

In this case, it would require external calls I'd rather not add as dependencies, so we'll close it for now but know it's there for the future if we need it

ereio avatar Sep 11 '22 21:09 ereio