mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-28 18:18:55 +00:00
In order to bind a channel to an IPv4 peer, the client must have previously made an IPv4 allocation. The same applies to IPv6. The relay will enforce this and reject the channel binding if that isn't the case but we shouldn't rely on this in the client code. Instead, we should not attempt to bind a channel if we haven't previously made an allocation for that IP family. We always try to make an allocation for both IPv4 and IPv6 but not every relay may operate in a dual-socket mode. Thus, it may only return an IPv4 or an IPv6 address.