mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-10 18:15:18 -04:00
Added Code to detect Symmetric NAT (BAD!) Firewalls.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@361 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
6dd3d30d8e
commit
2dc2954f40
14 changed files with 257 additions and 43 deletions
|
@ -62,6 +62,10 @@ std::string RsPeerStateString(uint32_t state)
|
|||
{
|
||||
str = "Connected";
|
||||
}
|
||||
else if (state & RS_PEER_STATE_UNREACHABLE)
|
||||
{
|
||||
str = "Unreachable";
|
||||
}
|
||||
else if (state & RS_PEER_STATE_ONLINE)
|
||||
{
|
||||
str = "Available";
|
||||
|
@ -92,6 +96,10 @@ std::string RsPeerNetModeString(uint32_t netModel)
|
|||
{
|
||||
str = "UDP Mode";
|
||||
}
|
||||
else if (netModel == RS_NETMODE_UNREACHABLE)
|
||||
{
|
||||
str = "UDP Mode (Unreachable)";
|
||||
}
|
||||
else
|
||||
{
|
||||
str = "Unknown NetMode";
|
||||
|
@ -272,6 +280,8 @@ bool p3Peers::getPeerDetails(std::string id, RsPeerDetails &d)
|
|||
d.state |= RS_PEER_STATE_ONLINE;
|
||||
if (pcs.state & RS_PEER_S_CONNECTED)
|
||||
d.state |= RS_PEER_STATE_CONNECTED;
|
||||
if (pcs.state & RS_PEER_S_UNREACHABLE)
|
||||
d.state |= RS_PEER_STATE_UNREACHABLE;
|
||||
|
||||
switch(pcs.netMode & RS_NET_MODE_ACTUAL)
|
||||
{
|
||||
|
@ -282,11 +292,13 @@ bool p3Peers::getPeerDetails(std::string id, RsPeerDetails &d)
|
|||
d.netMode = RS_NETMODE_UPNP;
|
||||
break;
|
||||
case RS_NET_MODE_UDP:
|
||||
case RS_NET_MODE_UNKNOWN:
|
||||
case RS_NET_MODE_ERROR:
|
||||
default:
|
||||
d.netMode = RS_NETMODE_UDP;
|
||||
break;
|
||||
case RS_NET_MODE_UNREACHABLE:
|
||||
case RS_NET_MODE_UNKNOWN:
|
||||
default:
|
||||
d.netMode = RS_NETMODE_UNREACHABLE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (pcs.netMode & RS_NET_MODE_TRY_EXT)
|
||||
|
@ -433,6 +445,9 @@ bool p3Peers::setNetworkMode(std::string id, uint32_t extNetMode)
|
|||
case RS_NETMODE_UDP:
|
||||
netMode = RS_NET_MODE_UDP;
|
||||
break;
|
||||
case RS_NETMODE_UNREACHABLE:
|
||||
netMode = RS_NET_MODE_UNREACHABLE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue