|
|
@ -1,5 +1,5 @@ |
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Copyright (c) 2013-2023, The PurpleI2P Project |
|
|
|
* Copyright (c) 2013-2024, The PurpleI2P Project |
|
|
|
* |
|
|
|
* |
|
|
|
* This file is part of Purple i2pd project and licensed under BSD3 |
|
|
|
* This file is part of Purple i2pd project and licensed under BSD3 |
|
|
|
* |
|
|
|
* |
|
|
@ -505,7 +505,7 @@ namespace transport |
|
|
|
if (!m_NTCP2Server) continue; |
|
|
|
if (!m_NTCP2Server) continue; |
|
|
|
std::shared_ptr<const RouterInfo::Address> address = (tr == i2p::data::RouterInfo::eNTCP2V6) ? |
|
|
|
std::shared_ptr<const RouterInfo::Address> address = (tr == i2p::data::RouterInfo::eNTCP2V6) ? |
|
|
|
peer.router->GetPublishedNTCP2V6Address () : peer.router->GetPublishedNTCP2V4Address (); |
|
|
|
peer.router->GetPublishedNTCP2V6Address () : peer.router->GetPublishedNTCP2V4Address (); |
|
|
|
if (address && m_CheckReserved && i2p::util::net::IsInReservedRange(address->host)) |
|
|
|
if (address && IsInReservedRange(address->host)) |
|
|
|
address = nullptr; |
|
|
|
address = nullptr; |
|
|
|
if (address) |
|
|
|
if (address) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -524,7 +524,7 @@ namespace transport |
|
|
|
if (!m_SSU2Server) continue; |
|
|
|
if (!m_SSU2Server) continue; |
|
|
|
std::shared_ptr<const RouterInfo::Address> address = (tr == i2p::data::RouterInfo::eSSU2V6) ? |
|
|
|
std::shared_ptr<const RouterInfo::Address> address = (tr == i2p::data::RouterInfo::eSSU2V6) ? |
|
|
|
peer.router->GetSSU2V6Address () : peer.router->GetSSU2V4Address (); |
|
|
|
peer.router->GetSSU2V6Address () : peer.router->GetSSU2V4Address (); |
|
|
|
if (address && m_CheckReserved && i2p::util::net::IsInReservedRange(address->host)) |
|
|
|
if (address && IsInReservedRange(address->host)) |
|
|
|
address = nullptr; |
|
|
|
address = nullptr; |
|
|
|
if (address && address->IsReachableSSU ()) |
|
|
|
if (address && address->IsReachableSSU ()) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -1084,6 +1084,11 @@ namespace transport |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool Transports::IsInReservedRange (const boost::asio::ip::address& host) const |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
return IsCheckReserved () && i2p::util::net::IsInReservedRange (host); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void InitAddressFromIface () |
|
|
|
void InitAddressFromIface () |
|
|
|
{ |
|
|
|
{ |
|
|
|
bool ipv6; i2p::config::GetOption("ipv6", ipv6); |
|
|
|
bool ipv6; i2p::config::GetOption("ipv6", ipv6); |
|
|
@ -1196,6 +1201,8 @@ namespace transport |
|
|
|
i2p::context.PublishSSU2Address (ssu2port, false, ipv4, ipv6); // unpublish
|
|
|
|
i2p::context.PublishSSU2Address (ssu2port, false, ipv4, ipv6); // unpublish
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool checkReserved; i2p::config::GetOption("reservedrange", checkReserved); |
|
|
|
|
|
|
|
transports.SetCheckReserved (checkReserved); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|