Ok, there we go.
The previous IPv6-only implementation required a hybrid stack host such as
Linux or FreeBSD, on which the listening address "in6addr_any" causes it to
accept both IPv6 and IPv4 connections on the same socket. I was ok with
dropping
support for OpenBSD, but when I found out that MacOS would also be affected,
it became clear that this needed to be re-thought.
Linux users will probably still want to listen on "any ipv4 or ipv6" by
omitting
the listening address completely. OpenBSD and MacOS users will have to do
that plus run a second copy of webcit listening on "0.0.0.0" to accept IPv4
connections.
This implementation still *requires* the host to support IPv6, even if only
IPv4 is in use. I don't think that's a problem -- pretty much all of the
major operating systems have had IPv6 support for nearly a decade now.
Next up: the Citadel server. This will
add a bit more complexity because we can't just say "run a second copy on
0.0.0.0" if they want to run both protocols.