Browse Source

separate network status and errors

pull/1791/head
orignal 2 years ago
parent
commit
8fd466c5a9
  1. 33
      daemon/HTTPServer.cpp
  2. 11
      libi2pd/RouterContext.h
  3. 8
      libi2pd/SSU2Session.cpp
  4. 4
      libi2pd/SSUSession.cpp

33
daemon/HTTPServer.cpp

@ -232,26 +232,25 @@ namespace http { @@ -232,26 +232,25 @@ namespace http {
case eRouterStatusUnknown: s << tr("Unknown"); break;
case eRouterStatusProxy: s << tr("Proxy"); break;
case eRouterStatusMesh: s << tr("Mesh"); break;
case eRouterStatusError:
default: s << tr("Unknown");
}
if (error != eRouterErrorNone)
{
s << "<br>";
switch (error)
{
s << tr("Error");
switch (error)
{
case eRouterErrorClockSkew:
s << " - " << tr("Clock skew");
break;
case eRouterErrorOffline:
s << " - " << tr("Offline");
break;
case eRouterErrorSymmetricNAT:
s << " - " << tr("Symmetric NAT");
break;
default: ;
}
case eRouterErrorClockSkew:
s << " - " << tr("Clock skew");
break;
case eRouterErrorOffline:
s << " - " << tr("Offline");
break;
case eRouterErrorSymmetricNAT:
s << " - " << tr("Symmetric NAT");
break;
default: ;
}
default: s << tr("Unknown");
}
}
}
void ShowStatus (std::stringstream& s, bool includeHiddenContent, i2p::http::OutputFormatEnum outputFormat)

11
libi2pd/RouterContext.h

@ -37,10 +37,9 @@ namespace garlic @@ -37,10 +37,9 @@ namespace garlic
eRouterStatusOK = 0,
eRouterStatusTesting = 1,
eRouterStatusFirewalled = 2,
eRouterStatusError = 3,
eRouterStatusUnknown = 4,
eRouterStatusProxy = 5,
eRouterStatusMesh = 6
eRouterStatusUnknown = 3,
eRouterStatusProxy = 4,
eRouterStatusMesh = 5
};
enum RouterError
@ -105,12 +104,12 @@ namespace garlic @@ -105,12 +104,12 @@ namespace garlic
void SetStatus (RouterStatus status);
void SetStatusSSU2 (RouterStatus status);
RouterError GetError () const { return m_Error; };
void SetError (RouterError error) { m_Status = eRouterStatusError; m_Error = error; };
void SetError (RouterError error) { m_Error = error; };
RouterStatus GetStatusV6 () const { return m_StatusV6; };
void SetStatusV6 (RouterStatus status);
void SetStatusV6SSU2 (RouterStatus status);
RouterError GetErrorV6 () const { return m_ErrorV6; };
void SetErrorV6 (RouterError error) { m_StatusV6 = eRouterStatusError; m_ErrorV6 = error; };
void SetErrorV6 (RouterError error) { m_ErrorV6 = error; };
int GetNetID () const { return m_NetID; };
void SetNetID (int netID) { m_NetID = netID; };
bool DecryptTunnelBuildRecord (const uint8_t * encrypted, uint8_t * data);

8
libi2pd/SSU2Session.cpp

@ -1571,13 +1571,13 @@ namespace transport @@ -1571,13 +1571,13 @@ namespace transport
{
if (isV4)
{
if (i2p::context.GetStatus () == eRouterStatusError && i2p::context.GetError () == eRouterErrorSymmetricNAT)
i2p::context.SetStatus (eRouterStatusTesting);
if (i2p::context.GetError () == eRouterErrorSymmetricNAT)
i2p::context.SetError (eRouterErrorNone);
}
else
{
if (i2p::context.GetStatusV6 () == eRouterStatusError && i2p::context.GetErrorV6 () == eRouterErrorSymmetricNAT)
i2p::context.SetStatusV6 (eRouterStatusTesting);
if (i2p::context.GetErrorV6 () == eRouterErrorSymmetricNAT)
i2p::context.SetErrorV6 (eRouterErrorNone);
}
}
}

4
libi2pd/SSUSession.cpp

@ -719,8 +719,8 @@ namespace transport @@ -719,8 +719,8 @@ namespace transport
if (i2p::context.GetStatus () == eRouterStatusTesting)
i2p::context.SetError (eRouterErrorSymmetricNAT);
}
else if (i2p::context.GetStatus () == eRouterStatusError && i2p::context.GetError () == eRouterErrorSymmetricNAT)
i2p::context.SetStatus (eRouterStatusTesting);
else if (i2p::context.GetError () == eRouterErrorSymmetricNAT)
i2p::context.SetError (eRouterErrorNone);
}
uint32_t nonce = bufbe32toh (buf);
buf += 4; // nonce

Loading…
Cancel
Save