mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 04:04:16 +00:00
create tunnel through any type of transports
This commit is contained in:
parent
7300792033
commit
567816e6a5
@ -180,6 +180,9 @@ namespace data
|
|||||||
CryptoPP::SHA256().CalculateDigest(m_IdentHash, (uint8_t *)&m_RouterIdentity, sizeof (m_RouterIdentity));
|
CryptoPP::SHA256().CalculateDigest(m_IdentHash, (uint8_t *)&m_RouterIdentity, sizeof (m_RouterIdentity));
|
||||||
UpdateIdentHashBase64 ();
|
UpdateIdentHashBase64 ();
|
||||||
UpdateRoutingKey ();
|
UpdateRoutingKey ();
|
||||||
|
|
||||||
|
if (!m_SupportedTransports)
|
||||||
|
SetUnreachable (true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RouterInfo::UpdateIdentHashBase64 ()
|
void RouterInfo::UpdateIdentHashBase64 ()
|
||||||
|
11
Tunnel.cpp
11
Tunnel.cpp
@ -389,7 +389,7 @@ namespace tunnel
|
|||||||
CreateTunnel<OutboundTunnel> (
|
CreateTunnel<OutboundTunnel> (
|
||||||
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
||||||
{
|
{
|
||||||
i2p::data::netdb.GetRandomNTCPRouter ()
|
i2p::data::netdb.GetRandomRouter ()
|
||||||
},
|
},
|
||||||
inboundTunnel->GetTunnelConfig ()));
|
inboundTunnel->GetTunnelConfig ()));
|
||||||
}
|
}
|
||||||
@ -397,7 +397,7 @@ namespace tunnel
|
|||||||
{
|
{
|
||||||
|
|
||||||
LogPrint ("Creating two hops outbound tunnel...");
|
LogPrint ("Creating two hops outbound tunnel...");
|
||||||
auto firstHop = i2p::data::netdb.GetRandomNTCPRouter (); // first hop must be NTCP
|
auto firstHop = i2p::data::netdb.GetRandomRouter ();
|
||||||
CreateTunnel<OutboundTunnel> (
|
CreateTunnel<OutboundTunnel> (
|
||||||
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
||||||
{
|
{
|
||||||
@ -439,7 +439,7 @@ namespace tunnel
|
|||||||
CreateTunnel<InboundTunnel> (
|
CreateTunnel<InboundTunnel> (
|
||||||
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
||||||
{
|
{
|
||||||
i2p::data::netdb.GetRandomNTCPRouter ()
|
i2p::data::netdb.GetRandomRouter ()
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -447,11 +447,12 @@ namespace tunnel
|
|||||||
OutboundTunnel * outboundTunnel = GetNextOutboundTunnel ();
|
OutboundTunnel * outboundTunnel = GetNextOutboundTunnel ();
|
||||||
LogPrint ("Creating two hops inbound tunnel...");
|
LogPrint ("Creating two hops inbound tunnel...");
|
||||||
auto router = outboundTunnel->GetTunnelConfig ()->GetFirstHop ()->router;
|
auto router = outboundTunnel->GetTunnelConfig ()->GetFirstHop ()->router;
|
||||||
|
auto firstHop = i2p::data::netdb.GetRandomRouter (outboundTunnel->GetEndpointRouter ());
|
||||||
CreateTunnel<InboundTunnel> (
|
CreateTunnel<InboundTunnel> (
|
||||||
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
new TunnelConfig (std::vector<const i2p::data::RouterInfo *>
|
||||||
{
|
{
|
||||||
i2p::data::netdb.GetRandomRouter (outboundTunnel->GetEndpointRouter ()),
|
firstHop,
|
||||||
router != &i2p::context.GetRouterInfo () ? router : i2p::data::netdb.GetRandomNTCPRouter () // last hop must be NTCP
|
router != &i2p::context.GetRouterInfo () ? router : i2p::data::netdb.GetRandomRouter (firstHop)
|
||||||
}),
|
}),
|
||||||
outboundTunnel);
|
outboundTunnel);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user