Hi all, I've been having intermittent connection issues with some of the gemini servers. While this is of course to be expected at this point, it seemed odd that, for instance, gemini://zaibatsu.circumlunar.space seemed to be offline more often than not. I finally got around to looking at this more carefully, and noticed that using gnutls-cli to open a connection to the IPv4 address always succeeds, whereas connections to the IPv6 address that the resolver returns do not. Since the network that I'm using supports IPv6 and falls back to IPv4 when necessary, this was causing a problem. Furthermore, because of the requirement that clients transmit the full URL to the server, it's not trivial to get around this by just directing the client to the IPv4 address: the server probably won't recognise the URL and will respond with an error code. There seem to be four options: 1. Have clients only look at IPv4 addresses (i.e. ignore AAAA DNS records). - Pro: would immediately solve the problem in this case. - Con: gemini gets stuck in the past. 2. Have clients do a reverse-DNS lookup when the gemini URL contains an IP and use this to construct a URL to supply to the gemini server. - Pro: would allow clients to connect using URLs with literal IP addresses in them. - Cons: a) connecting via the hostname still wouldn't work. b) if a single server is hosting several gemini sites the result of the connection would be non-deterministic. 3. Have servers recognise IP URLs. - Pros and cons same as for 2. 4. Have servers ensure that if they have an AAAA record they also listen for IPv6 gemini connections. - Pros: future-proof, no client-side changes necessary. - Con: some additional work necessary on the server side. Obviously 4 is my favourite because it's less (no) work for me. :) plugd
---
Next in thread (2 of 8): 🗣️ Sean Conner (sean (a) conman.org)