]> git.meshlink.io Git - meshlink/commit
Use bind() to check if a local address is still valid.
authorGuus Sliepen <guus@meshlink.io>
Thu, 6 Feb 2020 20:34:43 +0000 (21:34 +0100)
committerGuus Sliepen <guus@meshlink.io>
Sat, 8 Feb 2020 14:00:39 +0000 (15:00 +0100)
commit4bd83124d50260738991f59a6afe23a31cb672ab
treecbf3595af68194bb7fd609a41c2188dd9dcb8f70
parent9f8ed2802da6b48cb71377da84a83db04d3530b8
Use bind() to check if a local address is still valid.

Some platforms don't support getifaddrs(). We use this to check if the
local address of a socket is still available on any network interface.
Instead, try to bind() a new socket to the same address (but port 0) as
existing sockets. If it returns EADDRNOTAVAIL, we know that this address
is no longer valid.
src/net.c