On Linux, if you listen on ::0 (an unspecified ipv6 address), LNL does not seem to specify a source address for outgoing UDP packets, and will end up sending replies on a different address than what they were received on. This causes connection attempts to fail as clients get replies from an IPv6 address that is different from the one they are attempting to connect to.
Reproduction steps:
- Start a server listening on
::0 with any free port on a machine with multiple ipv6 addresses.
- Try connecting a client to every IPv6 address on the server machine. Most of them should fail to work as LNL will send the reply to the initial connection packet from a different address than what it was received on.
I won't be able to provide any minimal code examples due to my lack of C# knowledge. I ran across this in an application that uses LNL (Resonite) and determined that the bug is in LNL itself after speaking with Resonite's developers.
On Linux, if you listen on
::0(an unspecified ipv6 address), LNL does not seem to specify a source address for outgoing UDP packets, and will end up sending replies on a different address than what they were received on. This causes connection attempts to fail as clients get replies from an IPv6 address that is different from the one they are attempting to connect to.Reproduction steps:
::0with any free port on a machine with multiple ipv6 addresses.I won't be able to provide any minimal code examples due to my lack of C# knowledge. I ran across this in an application that uses LNL (Resonite) and determined that the bug is in LNL itself after speaking with Resonite's developers.