Browse Source

check if our external IP is valid

pull/1656/head
orignal 4 years ago
parent
commit
5edb256990
  1. 17
      libi2pd/SSUSession.cpp

17
libi2pd/SSUSession.cpp

@ -296,8 +296,16 @@ namespace transport
if (s.Verify (m_RemoteIdentity, payload)) if (s.Verify (m_RemoteIdentity, payload))
{ {
LogPrint (eLogInfo, "SSU: Our external address is ", ourIP.to_string (), ":", ourPort); LogPrint (eLogInfo, "SSU: Our external address is ", ourIP.to_string (), ":", ourPort);
i2p::context.UpdateAddress (ourIP); if (!i2p::util::net::IsInReservedRange (ourIP))
SendSessionConfirmed (y, ourAddressAndPort, addressAndPortLen); {
i2p::context.UpdateAddress (ourIP);
SendSessionConfirmed (y, ourAddressAndPort, addressAndPortLen);
}
else
{
LogPrint (eLogError, "SSU: Wrong external address ", ourIP.to_string ());
Failed ();
}
} }
else else
{ {
@ -682,7 +690,10 @@ namespace transport
if (!ourSize) return; if (!ourSize) return;
buf += ourSize; len -= ourSize; buf += ourSize; len -= ourSize;
LogPrint (eLogInfo, "SSU: Our external address is ", ourIP.to_string (), ":", ourPort); LogPrint (eLogInfo, "SSU: Our external address is ", ourIP.to_string (), ":", ourPort);
i2p::context.UpdateAddress (ourIP); if (!i2p::util::net::IsInReservedRange (ourIP))
i2p::context.UpdateAddress (ourIP);
else
LogPrint (eLogWarning, "SSU: Wrong external address ", ourIP.to_string ());
if (ourIP.is_v4 ()) if (ourIP.is_v4 ())
{ {
if (ourPort != m_Server.GetPort ()) if (ourPort != m_Server.GetPort ())

Loading…
Cancel
Save