Open tlstpierre opened 7 months ago
Thanks for putting this on the list!
Something that this might need also, is a change to the regex patterns that allow IP addresses to be entered in the UI. These should be modified to allow IPv6 notation also, anywhere an IP address is specified.
Something that this might need also, is a change to the regex patterns that allow IP addresses to be entered in the UI. These should be modified to allow IPv6 notation also, anywhere an IP address is specified.
I would be open to adding a new IPv6
regex, and potentially a combined IPvBoth
regex, but I am not sure if the existing one should be changed.
Many modules will be assuming that they will get an ipv4 address, and so will error/crash or worse if they are given an invalid address.
For example, the generic-tcp-udp
module and even the UDPHelper
class we provide for modules to use, binds to udp4
, on the provided address.
Some more work probably needs to be put into what we can do to encourage modules to support ipv6, which is a similar track to previous discussions about encouraging them to access hostnames as well as ip addresses. I don't remember much progress being made on the hostname track though
Is this a feature relevant to companion itself, and not a module?
Is there an existing issue for this?
Describe the feature
Companion should either by default, or with a simple option, bind listening sockets to IPv6 as well as IPv4. This is easily accomplished by using "::" instead of "0.0.0.0" anywhere a bind IP address is used. Currently companion cannot be accessed over IPv6 even when the host is IPv6 enabled.
Usecases
Because IPv4 is obsolete!
No really, but here's some more concrete use cases:
This is a fairly simple change and would be equivalent to setting --admin-address :: on the CLI at run-time. I have tested this behaviour on Linux and it solved the IPv6 issues and did not negatively affect IPv4 (IPv4 clients were still able to connect).
Branch feature/ipv6 was created to explore this. I may be able to make the changes myself with a little guidance.