Don't bind to temporary Ipv6 addresses (windows)

This commit is contained in:
Grant Limberg 2021-05-26 09:15:24 -07:00
parent 810e2a761f
commit 198e6f765c

View file

@ -135,12 +135,15 @@ public:
while (a) {
PIP_ADAPTER_UNICAST_ADDRESS ua = a->FirstUnicastAddress;
while (ua) {
// Don't bind temporary/random IPv6 addresses
if (ua->SuffixOrigin != IpSuffixOriginRandom) {
InetAddress ip(ua->Address.lpSockaddr);
char strBuf[128] = { 0 };
wcstombs(strBuf, a->FriendlyName, sizeof(strBuf));
if (ifChecker.shouldBindInterface(strBuf, ip)) {
switch (ip.ipScope()) {
default: break;
default:
break;
case InetAddress::IP_SCOPE_PSEUDOPRIVATE:
case InetAddress::IP_SCOPE_GLOBAL:
case InetAddress::IP_SCOPE_SHARED:
@ -152,6 +155,7 @@ public:
break;
}
}
}
ua = ua->Next;
}
a = a->Next;