|
|
@ -250,9 +250,17 @@ namespace i2p |
|
|
|
bool updated = false; |
|
|
|
bool updated = false; |
|
|
|
for (auto& address : m_RouterInfo.GetAddresses ()) |
|
|
|
for (auto& address : m_RouterInfo.GetAddresses ()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (address->IsNTCP2 () && (address->port != port || address->ntcp2->isPublished != publish) |
|
|
|
if (address->IsNTCP2 () && (address->port != port || address->ntcp2->isPublished != publish)) |
|
|
|
&& ((v4 && address->IsV4 ()) || (v6 && address->IsV6 ()) || |
|
|
|
{ |
|
|
|
(ygg && i2p::util::net::IsYggdrasilAddress (address->host)))) |
|
|
|
bool isAddr = v4 && address->IsV4 (); |
|
|
|
|
|
|
|
if (!isAddr && (v6 || ygg)) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (i2p::util::net::IsYggdrasilAddress (address->host)) |
|
|
|
|
|
|
|
isAddr = ygg; |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
isAddr = v6 && address->IsV6 (); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (isAddr) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (!port && !address->port) |
|
|
|
if (!port && !address->port) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -267,6 +275,7 @@ namespace i2p |
|
|
|
updated = true; |
|
|
|
updated = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (updated) |
|
|
|
if (updated) |
|
|
|
UpdateRouterInfo (); |
|
|
|
UpdateRouterInfo (); |
|
|
|
} |
|
|
|
} |
|
|
|