mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
General debugging:
* Improved debugging messages for p3linkmgr & p3netmgr, switched on debugging. * added ids to p3bitdht peers. * added datatypes to RsDht peers data structure, and translate the data. * add const to PeerConnectStateBox::connectState(). * cleaned up p3LinkMgr::locked_ConnectAttempt_AddDynDNS() a bit. * filled in friend data types in p3LinkMgr (allows connections now!) * added printConnectState() in p3LinkMgr git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
59abce2d48
commit
b2e25680ac
@ -185,7 +185,7 @@ void PeerConnectStateBox::stateMsg(std::ostream &out, std::string msg, uint32_t
|
|||||||
out << std::endl;
|
out << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string PeerConnectStateBox::connectState()
|
std::string PeerConnectStateBox::connectState() const
|
||||||
{
|
{
|
||||||
std::string str = StateAsString(mState);
|
std::string str = StateAsString(mState);
|
||||||
std::ostringstream out;
|
std::ostringstream out;
|
||||||
|
@ -85,7 +85,7 @@ class PeerConnectStateBox
|
|||||||
|
|
||||||
bool shouldUseProxyPort(uint32_t netmode, uint32_t nattype);
|
bool shouldUseProxyPort(uint32_t netmode, uint32_t nattype);
|
||||||
|
|
||||||
std::string connectState();
|
std::string connectState() const;
|
||||||
|
|
||||||
std::string mPeerId;
|
std::string mPeerId;
|
||||||
|
|
||||||
|
@ -179,6 +179,35 @@ void convertDhtPeerDetailsToRsDhtNetPeer(RsDhtNetPeer &status, const DhtPeerDeta
|
|||||||
status.mDhtId = out.str();
|
status.mDhtId = out.str();
|
||||||
status.mRsId = details.mRsId;
|
status.mRsId = details.mRsId;
|
||||||
|
|
||||||
|
status.mDhtState = details.mDhtState;
|
||||||
|
|
||||||
|
status.mConnectState = details.mConnectLogic.connectState();
|
||||||
|
|
||||||
|
status.mPeerReqState = details.mPeerReqState;
|
||||||
|
|
||||||
|
status.mPeerConnectState = details.mPeerConnectState;
|
||||||
|
|
||||||
|
switch(details.mPeerConnectMode)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case BITDHT_CONNECT_MODE_DIRECT:
|
||||||
|
status.mPeerConnectMode = RSDHT_TOU_MODE_DIRECT;
|
||||||
|
break;
|
||||||
|
case BITDHT_CONNECT_MODE_PROXY:
|
||||||
|
status.mPeerConnectMode = RSDHT_TOU_MODE_PROXY;
|
||||||
|
break;
|
||||||
|
case BITDHT_CONNECT_MODE_RELAY:
|
||||||
|
status.mPeerConnectMode = RSDHT_TOU_MODE_RELAY;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//status.mPeerConnectProxyId = details.mPeerConnectProxyId;
|
||||||
|
std::ostringstream out2;
|
||||||
|
bdStdPrintId(out2, &(details.mPeerConnectProxyId));
|
||||||
|
status.mPeerConnectProxyId = out2.str();
|
||||||
|
|
||||||
|
status.mCbPeerMsg = details.mPeerCbMsg;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#define PEERNET_CONNECT_TIMEOUT 45
|
#define PEERNET_CONNECT_TIMEOUT 45
|
||||||
|
|
||||||
|
#define DEBUG_BITDHT 1
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
int p3BitDht::add_peer(std::string id)
|
int p3BitDht::add_peer(std::string id)
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
#include <openssl/sha.h>
|
#include <openssl/sha.h>
|
||||||
|
|
||||||
|
#define DEBUG_BITDHT 1
|
||||||
|
|
||||||
/******************************************************************************************
|
/******************************************************************************************
|
||||||
********************************* Existing Interface *************************************
|
********************************* Existing Interface *************************************
|
||||||
@ -181,6 +182,8 @@ DhtPeerDetails *p3BitDht::addInternalPeer_locked(const std::string pid, int type
|
|||||||
|
|
||||||
/* what do we need to reset? */
|
/* what do we need to reset? */
|
||||||
dpd->mPeerType = type;
|
dpd->mPeerType = type;
|
||||||
|
dpd->mDhtId.id = id;
|
||||||
|
dpd->mRsId = pid;
|
||||||
|
|
||||||
return dpd;
|
return dpd;
|
||||||
}
|
}
|
||||||
@ -274,7 +277,7 @@ bool p3BitDht::havePeerTranslation_locked(const std::string &pid)
|
|||||||
|
|
||||||
#ifdef DEBUG_BITDHT
|
#ifdef DEBUG_BITDHT
|
||||||
std::cerr << "p3BitDht::havePeerTranslation_locked() Found NodeId: ";
|
std::cerr << "p3BitDht::havePeerTranslation_locked() Found NodeId: ";
|
||||||
bdStdPrintNodeId(std::cerr, id);
|
bdStdPrintNodeId(std::cerr, &(it->second));
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -51,11 +51,11 @@ const int p3connectzone = 3431;
|
|||||||
|
|
||||||
|
|
||||||
/****
|
/****
|
||||||
* #define CONN_DEBUG 1
|
* #define LINKMGR_DEBUG 1
|
||||||
* #define CONN_DEBUG_RESET 1
|
|
||||||
* #define CONN_DEBUG_TICK 1
|
|
||||||
***/
|
***/
|
||||||
|
|
||||||
|
#define LINKMGR_DEBUG 1
|
||||||
|
|
||||||
/****
|
/****
|
||||||
* #define P3CONNMGR_NO_TCP_CONNECTIONS 1
|
* #define P3CONNMGR_NO_TCP_CONNECTIONS 1
|
||||||
***/
|
***/
|
||||||
@ -151,7 +151,7 @@ p3LinkMgr::p3LinkMgr(p3PeerMgr *peerMgr, p3NetMgr *netMgr)
|
|||||||
mBannedIpList.push_back(bip);
|
mBannedIpList.push_back(bip);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr() Startup" << std::endl;
|
std::cerr << "p3LinkMgr() Startup" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -321,7 +321,7 @@ void p3LinkMgr::tick()
|
|||||||
|
|
||||||
bool p3LinkMgr::shutdown() /* blocking shutdown call */
|
bool p3LinkMgr::shutdown() /* blocking shutdown call */
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::shutdown() NOOP";
|
std::cerr << "p3LinkMgr::shutdown() NOOP";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -338,7 +338,7 @@ void p3LinkMgr::statusTick()
|
|||||||
* etc.
|
* etc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_TICK
|
#ifdef LINKMGR_DEBUG_TICK
|
||||||
std::cerr << "p3LinkMgr::statusTick()" << std::endl;
|
std::cerr << "p3LinkMgr::statusTick()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
std::list<std::string> retryIds;
|
std::list<std::string> retryIds;
|
||||||
@ -362,7 +362,7 @@ void p3LinkMgr::statusTick()
|
|||||||
if ((it->second.state & RS_PEER_S_ONLINE) &&
|
if ((it->second.state & RS_PEER_S_ONLINE) &&
|
||||||
(it->second.lastavailable < oldavail))
|
(it->second.lastavailable < oldavail))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_TICK
|
#ifdef LINKMGR_DEBUG_TICK
|
||||||
std::cerr << "p3LinkMgr::statusTick() ONLINE TIMEOUT for: ";
|
std::cerr << "p3LinkMgr::statusTick() ONLINE TIMEOUT for: ";
|
||||||
std::cerr << it->first;
|
std::cerr << it->first;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -381,7 +381,7 @@ void p3LinkMgr::statusTick()
|
|||||||
|
|
||||||
for(it2 = retryIds.begin(); it2 != retryIds.end(); it2++)
|
for(it2 = retryIds.begin(); it2 != retryIds.end(); it2++)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_TICK
|
#ifdef LINKMGR_DEBUG_TICK
|
||||||
std::cerr << "p3LinkMgr::statusTick() RETRY TIMEOUT for: ";
|
std::cerr << "p3LinkMgr::statusTick() RETRY TIMEOUT for: ";
|
||||||
std::cerr << *it2;
|
std::cerr << *it2;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -442,7 +442,7 @@ void p3LinkMgr::tickMonitors()
|
|||||||
|
|
||||||
if (mStatusChanged)
|
if (mStatusChanged)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::tickMonitors() StatusChanged! List:" << std::endl;
|
std::cerr << "p3LinkMgr::tickMonitors() StatusChanged! List:" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
/* assemble list */
|
/* assemble list */
|
||||||
@ -462,7 +462,7 @@ void p3LinkMgr::tickMonitors()
|
|||||||
|
|
||||||
actionList.push_back(peer);
|
actionList.push_back(peer);
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "Friend: " << peer.name << " Id: " << peer.id << " State: " << peer.state;
|
std::cerr << "Friend: " << peer.name << " Id: " << peer.id << " State: " << peer.state;
|
||||||
if (peer.state & RS_PEER_S_FRIEND)
|
if (peer.state & RS_PEER_S_FRIEND)
|
||||||
std::cerr << " S:RS_PEER_S_FRIEND";
|
std::cerr << " S:RS_PEER_S_FRIEND";
|
||||||
@ -512,7 +512,7 @@ void p3LinkMgr::tickMonitors()
|
|||||||
/* reset action */
|
/* reset action */
|
||||||
it->second.actions = 0;
|
it->second.actions = 0;
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "Other: " << peer.name << " Id: " << peer.id << " State: " << peer.state;
|
std::cerr << "Other: " << peer.name << " Id: " << peer.id << " State: " << peer.state;
|
||||||
if (peer.state & RS_PEER_S_FRIEND)
|
if (peer.state & RS_PEER_S_FRIEND)
|
||||||
std::cerr << " S:RS_PEER_S_FRIEND";
|
std::cerr << " S:RS_PEER_S_FRIEND";
|
||||||
@ -554,7 +554,7 @@ void p3LinkMgr::tickMonitors()
|
|||||||
|
|
||||||
if (doStatusChange)
|
if (doStatusChange)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "Sending to " << clients.size() << " monitorClients" << std::endl;
|
std::cerr << "Sending to " << clients.size() << " monitorClients" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -598,7 +598,7 @@ bool p3LinkMgr::connectAttempt(const std::string &id, struct sockaddr_in &addr,
|
|||||||
it = mFriendList.find(id);
|
it = mFriendList.find(id);
|
||||||
if (it == mFriendList.end())
|
if (it == mFriendList.end())
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectAttempt() FAILED Not in FriendList! id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::connectAttempt() FAILED Not in FriendList! id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -607,7 +607,7 @@ bool p3LinkMgr::connectAttempt(const std::string &id, struct sockaddr_in &addr,
|
|||||||
|
|
||||||
if (it->second.connAddrs.size() < 1)
|
if (it->second.connAddrs.size() < 1)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectAttempt() FAILED No ConnectAddresses id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::connectAttempt() FAILED No ConnectAddresses id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -616,7 +616,7 @@ bool p3LinkMgr::connectAttempt(const std::string &id, struct sockaddr_in &addr,
|
|||||||
|
|
||||||
if (it->second.state & RS_PEER_S_CONNECTED)
|
if (it->second.state & RS_PEER_S_CONNECTED)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectAttempt() Already FLAGGED as connected!!!!" << std::endl;
|
std::cerr << "p3LinkMgr::connectAttempt() Already FLAGGED as connected!!!!" << std::endl;
|
||||||
std::cerr << "p3LinkMgr::connectAttempt() But allowing anyway!!!" << std::endl;
|
std::cerr << "p3LinkMgr::connectAttempt() But allowing anyway!!!" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -633,13 +633,13 @@ bool p3LinkMgr::connectAttempt(const std::string &id, struct sockaddr_in &addr,
|
|||||||
type = it->second.currentConnAddrAttempt.type;
|
type = it->second.currentConnAddrAttempt.type;
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectAttempt() found an address: id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::connectAttempt() found an address: id: " << id << std::endl;
|
||||||
std::cerr << " laddr: " << rs_inet_ntoa(addr.sin_addr) << " lport: " << ntohs(addr.sin_port) << " delay: " << delay << " period: " << period;
|
std::cerr << " laddr: " << rs_inet_ntoa(addr.sin_addr) << " lport: " << ntohs(addr.sin_port) << " delay: " << delay << " period: " << period;
|
||||||
std::cerr << " type: " << type << std::endl;
|
std::cerr << " type: " << type << std::endl;
|
||||||
#endif
|
#endif
|
||||||
if (addr.sin_addr.s_addr == 0 || addr.sin_port == 0) {
|
if (addr.sin_addr.s_addr == 0 || addr.sin_port == 0) {
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectAttempt() WARNING: address or port is null" << std::endl;
|
std::cerr << "p3LinkMgr::connectAttempt() WARNING: address or port is null" << std::endl;
|
||||||
std::cerr << " type: " << type << std::endl;
|
std::cerr << " type: " << type << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -676,7 +676,7 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||||||
|
|
||||||
if (id == getOwnId())
|
if (id == getOwnId())
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
rslog(RSL_WARNING, p3connectzone, "p3LinkMgr::connectResult() Failed, connecting to own id: ");
|
rslog(RSL_WARNING, p3connectzone, "p3LinkMgr::connectResult() Failed, connecting to own id: ");
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -686,7 +686,7 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||||||
it = mFriendList.find(id);
|
it = mFriendList.find(id);
|
||||||
if (it == mFriendList.end())
|
if (it == mFriendList.end())
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectResult() Failed, missing Friend " << " id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::connectResult() Failed, missing Friend " << " id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -696,7 +696,7 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||||||
{
|
{
|
||||||
/* update address (should also come through from DISC) */
|
/* update address (should also come through from DISC) */
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectResult() Connect!: id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::connectResult() Connect!: id: " << id << std::endl;
|
||||||
std::cerr << " Success: " << success << " flags: " << flags << std::endl;
|
std::cerr << " Success: " << success << " flags: " << flags << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -730,7 +730,7 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||||||
== remote_peer_address.sin_port))
|
== remote_peer_address.sin_port))
|
||||||
{
|
{
|
||||||
updatePeerAddr = true;
|
updatePeerAddr = true;
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectResult() adding current peer address in list." << std::endl;
|
std::cerr << "p3LinkMgr::connectResult() adding current peer address in list." << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -746,7 +746,7 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||||||
{
|
{
|
||||||
it->second.inConnAttempt = false;
|
it->second.inConnAttempt = false;
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::connectResult() Disconnect/Fail: id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::connectResult() Disconnect/Fail: id: " << id << std::endl;
|
||||||
std::cerr << " Success: " << success << " flags: " << flags << std::endl;
|
std::cerr << " Success: " << success << " flags: " << flags << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -829,7 +829,7 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
addrs.printAddrs(out);
|
addrs.printAddrs(out);
|
||||||
|
|
||||||
rslog(RSL_WARNING, p3connectzone, out.str());
|
rslog(RSL_WARNING, p3connectzone, out.str());
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << out.str();
|
std::cerr << out.str();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -844,17 +844,17 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
if (it == mOthersList.end())
|
if (it == mOthersList.end())
|
||||||
{
|
{
|
||||||
/* not found - ignore */
|
/* not found - ignore */
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerStatus() Peer Not Found - Ignore" << std::endl;
|
std::cerr << "p3LinkMgr::peerStatus() Peer Not Found - Ignore" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerStatus() Peer is in mOthersList" << std::endl;
|
std::cerr << "p3LinkMgr::peerStatus() Peer is in mOthersList" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerStatus() Current Peer State:" << std::endl;
|
std::cerr << "p3LinkMgr::peerStatus() Current Peer State:" << std::endl;
|
||||||
printConnectState(std::cerr, it->second);
|
printConnectState(std::cerr, it->second);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -865,6 +865,10 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
/* if source is DHT */
|
/* if source is DHT */
|
||||||
if (source == RS_CB_DHT)
|
if (source == RS_CB_DHT)
|
||||||
{
|
{
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::peerStatus() Update From DHT:";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
/* DHT can tell us about
|
/* DHT can tell us about
|
||||||
* 1) connect type (UDP/TCP/etc)
|
* 1) connect type (UDP/TCP/etc)
|
||||||
* 2) local/external address
|
* 2) local/external address
|
||||||
@ -879,6 +883,10 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
}
|
}
|
||||||
else if (source == RS_CB_DISC)
|
else if (source == RS_CB_DISC)
|
||||||
{
|
{
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::peerStatus() Update From DISC:";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
/* DISC can tell us about
|
/* DISC can tell us about
|
||||||
* 1) connect type (UDP/TCP/etc)
|
* 1) connect type (UDP/TCP/etc)
|
||||||
* 2) local/external addresses
|
* 2) local/external addresses
|
||||||
@ -903,6 +911,10 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
* 2) connect address
|
* 2) connect address
|
||||||
* -> update all!
|
* -> update all!
|
||||||
*/
|
*/
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::peerStatus() Update From PERSON:";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
it->second.source = RS_CB_PERSON;
|
it->second.source = RS_CB_PERSON;
|
||||||
it->second.peer = details;
|
it->second.peer = details;
|
||||||
@ -990,7 +1002,7 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
|
|
||||||
if (!isFriend)
|
if (!isFriend)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerStatus() NOT FRIEND " << " id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::peerStatus() NOT FRIEND " << " id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1003,7 +1015,7 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
/* if already connected -> done */
|
/* if already connected -> done */
|
||||||
if (it->second.state & RS_PEER_S_CONNECTED)
|
if (it->second.state & RS_PEER_S_CONNECTED)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerStatus() PEER ONLINE ALREADY " << " id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::peerStatus() PEER ONLINE ALREADY " << " id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
@ -1024,7 +1036,7 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
mPeerMgr -> setNetworkMode(id, peerNetMode);
|
mPeerMgr -> setNetworkMode(id, peerNetMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerStatus()" << " id: " << id;
|
std::cerr << "p3LinkMgr::peerStatus()" << " id: " << id;
|
||||||
std::cerr << " type: " << type << " flags: " << flags;
|
std::cerr << " type: " << type << " flags: " << flags;
|
||||||
std::cerr << " source: " << source << std::endl;
|
std::cerr << " source: " << source << std::endl;
|
||||||
@ -1048,7 +1060,7 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
#else
|
#else
|
||||||
#endif // P3CONNMGR_NO_AUTO_CONNECTION
|
#endif // P3CONNMGR_NO_AUTO_CONNECTION
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerStatus() Resulting Peer State:" << std::endl;
|
std::cerr << "p3LinkMgr::peerStatus() Resulting Peer State:" << std::endl;
|
||||||
printConnectState(std::cerr, it->second);
|
printConnectState(std::cerr, it->second);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -1059,7 +1071,7 @@ void p3LinkMgr::peerStatus(std::string id, const pqiIpAddrSet &addrs,
|
|||||||
void p3LinkMgr::peerConnectRequest(std::string id, struct sockaddr_in raddr,
|
void p3LinkMgr::peerConnectRequest(std::string id, struct sockaddr_in raddr,
|
||||||
uint32_t source)
|
uint32_t source)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerConnectRequest() id: " << id << " raddr: " << rs_inet_ntoa(raddr.sin_addr) << ":" << ntohs(raddr.sin_port);
|
std::cerr << "p3LinkMgr::peerConnectRequest() id: " << id << " raddr: " << rs_inet_ntoa(raddr.sin_addr) << ":" << ntohs(raddr.sin_port);
|
||||||
std::cerr << " source: " << source << std::endl;
|
std::cerr << " source: " << source << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1073,19 +1085,23 @@ void p3LinkMgr::peerConnectRequest(std::string id, struct sockaddr_in raddr,
|
|||||||
|
|
||||||
/******************** TCP PART *****************************/
|
/******************** TCP PART *****************************/
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::peerConnectRequest() Try TCP first" << std::endl;
|
std::cerr << "p3LinkMgr::peerConnectRequest() Try TCP first" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (source == RS_CB_DHT)
|
if (source == RS_CB_DHT)
|
||||||
{
|
{
|
||||||
std::cerr << "p3LinkMgr::peerConnectRequest() source DHT ==> retryConnectUDP()" << std::endl;
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::peerConnectRequest() source DHT ==> retryConnectUDP()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
retryConnectUDP(id, raddr);
|
retryConnectUDP(id, raddr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // IS THIS USED???
|
{ // IS THIS USED???
|
||||||
std::cerr << "p3LinkMgr::peerConnectRequest() source OTHER ==> retryConnect()" << std::endl;
|
std::cerr << "p3LinkMgr::peerConnectRequest() ERROR source OTHER ==> retryConnect()" << std::endl;
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
retryConnect(id);
|
retryConnect(id);
|
||||||
return;
|
return;
|
||||||
@ -1099,7 +1115,7 @@ void p3LinkMgr::peerConnectRequest(std::string id, struct sockaddr_in raddr,
|
|||||||
bool p3LinkMgr::retryConnect(const std::string &id)
|
bool p3LinkMgr::retryConnect(const std::string &id)
|
||||||
{
|
{
|
||||||
/* push all available addresses onto the connect addr stack */
|
/* push all available addresses onto the connect addr stack */
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnect() id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::retryConnect() id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1119,12 +1135,12 @@ bool p3LinkMgr::retryConnectUDP(const std::string &id, struct sockaddr_in &rUd
|
|||||||
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
||||||
|
|
||||||
/* push all available addresses onto the connect addr stack */
|
/* push all available addresses onto the connect addr stack */
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectTCP() id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectTCP() id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (id == getOwnId()) {
|
if (id == getOwnId()) {
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
rslog(RSL_WARNING, p3connectzone, "p3LinkMgr::retryConnectUDP() Failed, connecting to own id: ");
|
rslog(RSL_WARNING, p3connectzone, "p3LinkMgr::retryConnectUDP() Failed, connecting to own id: ");
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -1134,7 +1150,7 @@ bool p3LinkMgr::retryConnectUDP(const std::string &id, struct sockaddr_in &rUd
|
|||||||
std::map<std::string, peerConnectState>::iterator it;
|
std::map<std::string, peerConnectState>::iterator it;
|
||||||
if (mFriendList.end() == (it = mFriendList.find(id)))
|
if (mFriendList.end() == (it = mFriendList.find(id)))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectUDP() Peer is not Friend" << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectUDP() Peer is not Friend" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -1143,15 +1159,15 @@ bool p3LinkMgr::retryConnectUDP(const std::string &id, struct sockaddr_in &rUd
|
|||||||
/* if already connected -> done */
|
/* if already connected -> done */
|
||||||
if (it->second.state & RS_PEER_S_CONNECTED)
|
if (it->second.state & RS_PEER_S_CONNECTED)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectUDP() Peer Already Connected" << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectUDP() Peer Already Connected" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
if (it->second.connecttype & RS_NET_CONN_TUNNEL) {
|
if (it->second.connecttype & RS_NET_CONN_TUNNEL) {
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectUDP() Peer Connected through a tunnel connection, let's try a normal connection." << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectUDP() Peer Connected through a tunnel connection, let's try a normal connection." << std::endl;
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectUDP() Peer Connected no more connection attempts" << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectUDP() Peer Connected no more connection attempts" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -1161,7 +1177,7 @@ bool p3LinkMgr::retryConnectUDP(const std::string &id, struct sockaddr_in &rUd
|
|||||||
/* Explicit Request to start the UDP connection */
|
/* Explicit Request to start the UDP connection */
|
||||||
if (isValidNet(&(rUdpAddr.sin_addr)))
|
if (isValidNet(&(rUdpAddr.sin_addr)))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "Adding udp connection attempt: ";
|
std::cerr << "Adding udp connection attempt: ";
|
||||||
std::cerr << "Addr: " << rs_inet_ntoa(rUdpAddr.sin_addr);
|
std::cerr << "Addr: " << rs_inet_ntoa(rUdpAddr.sin_addr);
|
||||||
std::cerr << ":" << ntohs(rUdpAddr.sin_port);
|
std::cerr << ":" << ntohs(rUdpAddr.sin_port);
|
||||||
@ -1197,13 +1213,13 @@ bool p3LinkMgr::retryConnectTCP(const std::string &id)
|
|||||||
- check address age. don't add old ones
|
- check address age. don't add old ones
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectTCP() id: " << id << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectTCP() id: " << id << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (id == getOwnId())
|
if (id == getOwnId())
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
rslog(RSL_WARNING, p3connectzone, "p3LinkMgr::retryConnectTCP() Failed, connecting to own id: ");
|
rslog(RSL_WARNING, p3connectzone, "p3LinkMgr::retryConnectTCP() Failed, connecting to own id: ");
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -1213,7 +1229,7 @@ bool p3LinkMgr::retryConnectTCP(const std::string &id)
|
|||||||
std::map<std::string, peerConnectState>::iterator it;
|
std::map<std::string, peerConnectState>::iterator it;
|
||||||
if (mFriendList.end() == (it = mFriendList.find(id)))
|
if (mFriendList.end() == (it = mFriendList.find(id)))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectTCP() Peer is not Friend" << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectTCP() Peer is not Friend" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -1222,18 +1238,18 @@ bool p3LinkMgr::retryConnectTCP(const std::string &id)
|
|||||||
/* if already connected -> done */
|
/* if already connected -> done */
|
||||||
if (it->second.state & RS_PEER_S_CONNECTED)
|
if (it->second.state & RS_PEER_S_CONNECTED)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectTCP() Peer Already Connected" << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectTCP() Peer Already Connected" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
if (it->second.connecttype & RS_NET_CONN_TUNNEL)
|
if (it->second.connecttype & RS_NET_CONN_TUNNEL)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectTCP() Peer Connected through a tunnel connection, let's try a normal connection." << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectTCP() Peer Connected through a tunnel connection, let's try a normal connection." << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::retryConnectTCP() Peer Connected no more connection attempts" << std::endl;
|
std::cerr << "p3LinkMgr::retryConnectTCP() Peer Connected no more connection attempts" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
@ -1241,6 +1257,10 @@ bool p3LinkMgr::retryConnectTCP(const std::string &id)
|
|||||||
}
|
}
|
||||||
} /****** END of LOCKED ******/
|
} /****** END of LOCKED ******/
|
||||||
|
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::retryConnectTCP() Getting Address from PeerMgr for : " << id;
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
/* If we reach here, must retry .... extract the required info from p3PeerMgr */
|
/* If we reach here, must retry .... extract the required info from p3PeerMgr */
|
||||||
|
|
||||||
struct sockaddr_in lAddr;
|
struct sockaddr_in lAddr;
|
||||||
@ -1272,6 +1292,16 @@ bool p3LinkMgr::retryConnectTCP(const std::string &id)
|
|||||||
/* finish it off */
|
/* finish it off */
|
||||||
return locked_ConnectAttempt_Complete(&(it->second));
|
return locked_ConnectAttempt_Complete(&(it->second));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "p3LinkMgr::retryConnectTCP() ERROR failed to find friend data : " << id;
|
||||||
|
std::cerr << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "p3LinkMgr::retryConnectTCP() ERROR failed to addresses from PeerMgr for: " << id;
|
||||||
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -1283,7 +1313,7 @@ bool p3LinkMgr::retryConnectTCP(const std::string &id)
|
|||||||
|
|
||||||
bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_t age)
|
bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_t age)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr(";
|
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr(";
|
||||||
std::cerr << rs_inet_ntoa(addr->sin_addr);
|
std::cerr << rs_inet_ntoa(addr->sin_addr);
|
||||||
std::cerr << ":" << ntohs(addr->sin_port);
|
std::cerr << ":" << ntohs(addr->sin_port);
|
||||||
@ -1296,7 +1326,7 @@ bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_
|
|||||||
*/
|
*/
|
||||||
if (age > MAX_TCP_ADDR_AGE)
|
if (age > MAX_TCP_ADDR_AGE)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - TOO OLD";
|
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - TOO OLD";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1311,7 +1341,7 @@ bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_
|
|||||||
/* if invalid - quick rejection */
|
/* if invalid - quick rejection */
|
||||||
if (!isValid)
|
if (!isValid)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - INVALID";
|
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - INVALID";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1326,7 +1356,7 @@ bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_
|
|||||||
{
|
{
|
||||||
if (it->s_addr == addr->sin_addr.s_addr)
|
if (it->s_addr == addr->sin_addr.s_addr)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - ON BANNED IPLIST";
|
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - ON BANNED IPLIST";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1340,7 +1370,7 @@ bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_
|
|||||||
*/
|
*/
|
||||||
if (isExternal)
|
if (isExternal)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() ACCEPTING - EXTERNAL";
|
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() ACCEPTING - EXTERNAL";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1360,14 +1390,14 @@ bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_
|
|||||||
|
|
||||||
if (sameNet(&(mLocalAddress.sin_addr), &(addr->sin_addr)))
|
if (sameNet(&(mLocalAddress.sin_addr), &(addr->sin_addr)))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() ACCEPTING - PRIVATE & sameNET";
|
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() ACCEPTING - PRIVATE & sameNET";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - PRIVATE & !sameNET";
|
std::cerr << "p3LinkMgr::locked_CheckPotentialAddr() REJECTING - PRIVATE & !sameNET";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1380,11 +1410,16 @@ bool p3LinkMgr::locked_CheckPotentialAddr(const struct sockaddr_in *addr, time_
|
|||||||
|
|
||||||
void p3LinkMgr::locked_ConnectAttempt_CurrentAddresses(peerConnectState *peer, struct sockaddr_in *localAddr, struct sockaddr_in *serverAddr)
|
void p3LinkMgr::locked_ConnectAttempt_CurrentAddresses(peerConnectState *peer, struct sockaddr_in *localAddr, struct sockaddr_in *serverAddr)
|
||||||
{
|
{
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_CurrentAddresses()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
// Just push all the addresses onto the stack.
|
// Just push all the addresses onto the stack.
|
||||||
/* try "current addresses" first */
|
/* try "current addresses" first */
|
||||||
if ((localAddr) && (locked_CheckPotentialAddr(localAddr, 0)))
|
if ((localAddr) && (locked_CheckPotentialAddr(localAddr, 0)))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_CurrentAddresses() ";
|
||||||
std::cerr << "Adding tcp connection attempt: ";
|
std::cerr << "Adding tcp connection attempt: ";
|
||||||
std::cerr << "Current Local Addr: " << rs_inet_ntoa(localAddr->sin_addr);
|
std::cerr << "Current Local Addr: " << rs_inet_ntoa(localAddr->sin_addr);
|
||||||
std::cerr << ":" << ntohs(localAddr->sin_port);
|
std::cerr << ":" << ntohs(localAddr->sin_port);
|
||||||
@ -1402,7 +1437,8 @@ void p3LinkMgr::locked_ConnectAttempt_CurrentAddresses(peerConnectState *peer,
|
|||||||
|
|
||||||
if ((serverAddr) && (locked_CheckPotentialAddr(serverAddr, 0)))
|
if ((serverAddr) && (locked_CheckPotentialAddr(serverAddr, 0)))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_CurrentAddresses() ";
|
||||||
std::cerr << "Adding tcp connection attempt: ";
|
std::cerr << "Adding tcp connection attempt: ";
|
||||||
std::cerr << "Current Ext Addr: " << rs_inet_ntoa(serverAddr->sin_addr);
|
std::cerr << "Current Ext Addr: " << rs_inet_ntoa(serverAddr->sin_addr);
|
||||||
std::cerr << ":" << ntohs(serverAddr->sin_port);
|
std::cerr << ":" << ntohs(serverAddr->sin_port);
|
||||||
@ -1427,13 +1463,18 @@ void p3LinkMgr::locked_ConnectAttempt_HistoricalAddresses(peerConnectState *pee
|
|||||||
std::list<pqiIpAddress>::const_iterator ait;
|
std::list<pqiIpAddress>::const_iterator ait;
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
|
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_HistoricalAddresses()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
for(ait = ipAddrs.mLocal.mAddrs.begin();
|
for(ait = ipAddrs.mLocal.mAddrs.begin();
|
||||||
ait != ipAddrs.mLocal.mAddrs.end(); ait++)
|
ait != ipAddrs.mLocal.mAddrs.end(); ait++)
|
||||||
{
|
{
|
||||||
if (locked_CheckPotentialAddr(&(ait->mAddr), now - ait->mSeenTime))
|
if (locked_CheckPotentialAddr(&(ait->mAddr), now - ait->mSeenTime))
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_HistoricalAddresses() ";
|
||||||
std::cerr << "Adding tcp connection attempt: ";
|
std::cerr << "Adding tcp connection attempt: ";
|
||||||
std::cerr << "Local Addr: " << rs_inet_ntoa(ait->mAddr.sin_addr);
|
std::cerr << "Local Addr: " << rs_inet_ntoa(ait->mAddr.sin_addr);
|
||||||
std::cerr << ":" << ntohs(ait->mAddr.sin_port);
|
std::cerr << ":" << ntohs(ait->mAddr.sin_port);
|
||||||
@ -1457,7 +1498,8 @@ void p3LinkMgr::locked_ConnectAttempt_HistoricalAddresses(peerConnectState *pee
|
|||||||
if (locked_CheckPotentialAddr(&(ait->mAddr), now - ait->mSeenTime))
|
if (locked_CheckPotentialAddr(&(ait->mAddr), now - ait->mSeenTime))
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_HistoricalAddresses() ";
|
||||||
std::cerr << "Adding tcp connection attempt: ";
|
std::cerr << "Adding tcp connection attempt: ";
|
||||||
std::cerr << "Ext Addr: " << rs_inet_ntoa(ait->mAddr.sin_addr);
|
std::cerr << "Ext Addr: " << rs_inet_ntoa(ait->mAddr.sin_addr);
|
||||||
std::cerr << ":" << ntohs(ait->mAddr.sin_port);
|
std::cerr << ":" << ntohs(ait->mAddr.sin_port);
|
||||||
@ -1479,39 +1521,51 @@ void p3LinkMgr::locked_ConnectAttempt_HistoricalAddresses(peerConnectState *pee
|
|||||||
void p3LinkMgr::locked_ConnectAttempt_AddDynDNS(peerConnectState *peer, std::string dyndns, uint16_t port)
|
void p3LinkMgr::locked_ConnectAttempt_AddDynDNS(peerConnectState *peer, std::string dyndns, uint16_t port)
|
||||||
{
|
{
|
||||||
/* try dyndns address too */
|
/* try dyndns address too */
|
||||||
if (!dyndns.empty())
|
struct in_addr addr;
|
||||||
|
if (!dyndns.empty() && port)
|
||||||
{
|
{
|
||||||
struct in_addr addr;
|
#ifdef LINKMGR_DEBUG
|
||||||
#ifdef CONN_DEBUG
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_AddDynDNS() Looking up DynDNS address: " << dyndns << std::endl;
|
||||||
std::cerr << "Looking up DynDNS address" << std::endl;
|
|
||||||
#endif
|
#endif
|
||||||
if (port)
|
if(mDNSResolver->getIPAddressFromString(dyndns, addr))
|
||||||
{
|
{
|
||||||
if(mDNSResolver->getIPAddressFromString(dyndns, addr))
|
#ifdef LINKMGR_DEBUG
|
||||||
{
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_AddDynDNS() ";
|
||||||
#ifdef CONN_DEBUG
|
std::cerr << "Adding tcp connection attempt: ";
|
||||||
std::cerr << "Adding tcp connection attempt: ";
|
std::cerr << "DynDNS Addr: " << rs_inet_ntoa(addr);
|
||||||
std::cerr << "DynDNS Addr: " << rs_inet_ntoa(addr);
|
std::cerr << ":" << ntohs(port);
|
||||||
std::cerr << ":" << ntohs(port);
|
std::cerr << std::endl;
|
||||||
std::cerr << std::endl;
|
|
||||||
#endif
|
#endif
|
||||||
peerConnectAddress pca;
|
peerConnectAddress pca;
|
||||||
pca.addr.sin_family = AF_INET;
|
pca.addr.sin_family = AF_INET;
|
||||||
pca.addr.sin_addr.s_addr = addr.s_addr;
|
pca.addr.sin_addr.s_addr = addr.s_addr;
|
||||||
pca.addr.sin_port = htons(port);
|
pca.addr.sin_port = htons(port);
|
||||||
pca.type = RS_NET_CONN_TCP_EXTERNAL;
|
pca.type = RS_NET_CONN_TCP_EXTERNAL;
|
||||||
//for the delay, we add a random time and some more time when the friend list is big
|
//for the delay, we add a random time and some more time when the friend list is big
|
||||||
pca.delay = P3CONNMGR_TCP_DEFAULT_DELAY;
|
pca.delay = P3CONNMGR_TCP_DEFAULT_DELAY;
|
||||||
pca.ts = time(NULL);
|
pca.ts = time(NULL);
|
||||||
pca.period = P3CONNMGR_TCP_DEFAULT_PERIOD;
|
pca.period = P3CONNMGR_TCP_DEFAULT_PERIOD;
|
||||||
|
|
||||||
/* check address validity */
|
/* check address validity */
|
||||||
if (locked_CheckPotentialAddr(&(pca.addr), 0))
|
if (locked_CheckPotentialAddr(&(pca.addr), 0))
|
||||||
{
|
{
|
||||||
addAddressIfUnique(peer->connAddrs, pca);
|
addAddressIfUnique(peer->connAddrs, pca);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_AddDynDNS() DNSResolver hasn't found addr yet";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_AddDynDNS() Address(" << dyndns << ") or Port(" << port << ") NULL ignoring";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1520,7 +1574,7 @@ void p3LinkMgr::locked_ConnectAttempt_AddTunnel(peerConnectState *peer)
|
|||||||
{
|
{
|
||||||
if (!(peer->state & RS_PEER_S_CONNECTED) && mAllowTunnelConnection)
|
if (!(peer->state & RS_PEER_S_CONNECTED) && mAllowTunnelConnection)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "Adding TUNNEL Connection Attempt";
|
std::cerr << "Adding TUNNEL Connection Attempt";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1541,6 +1595,10 @@ bool p3LinkMgr::addAddressIfUnique(std::list<peerConnectAddress> &addrList, pee
|
|||||||
/* iterate through the list, and make sure it isn't already
|
/* iterate through the list, and make sure it isn't already
|
||||||
* in the list
|
* in the list
|
||||||
*/
|
*/
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::addAddressIfUnique() Checking Address: " << rs_inet_ntoa(pca.addr.sin_addr);
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::list<peerConnectAddress>::iterator it;
|
std::list<peerConnectAddress>::iterator it;
|
||||||
for(it = addrList.begin(); it != addrList.end(); it++)
|
for(it = addrList.begin(); it != addrList.end(); it++)
|
||||||
@ -1549,11 +1607,20 @@ bool p3LinkMgr::addAddressIfUnique(std::list<peerConnectAddress> &addrList, pee
|
|||||||
(pca.addr.sin_port == it->addr.sin_port) &&
|
(pca.addr.sin_port == it->addr.sin_port) &&
|
||||||
(pca.type == it->type))
|
(pca.type == it->type))
|
||||||
{
|
{
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::addAddressIfUnique() Discarding Duplicate Address";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
/* already */
|
/* already */
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::addAddressIfUnique() Adding New Address";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
addrList.push_back(pca);
|
addrList.push_back(pca);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -1571,7 +1638,7 @@ bool p3LinkMgr::locked_ConnectAttempt_Complete(peerConnectState *peer)
|
|||||||
if (peer->inConnAttempt)
|
if (peer->inConnAttempt)
|
||||||
{
|
{
|
||||||
/* -> it'll automatically use the addresses we added */
|
/* -> it'll automatically use the addresses we added */
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::cerr << "p3LinkMgr::locked_ConnectAttempt_Complete() Already in CONNECT ATTEMPT";
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_Complete() Already in CONNECT ATTEMPT";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << "p3LinkMgr::locked_ConnectAttempt_Complete() Remaining ConnAddr Count: " << peer->connAddrs.size();
|
std::cerr << "p3LinkMgr::locked_ConnectAttempt_Complete() Remaining ConnAddr Count: " << peer->connAddrs.size();
|
||||||
@ -1583,13 +1650,13 @@ bool p3LinkMgr::locked_ConnectAttempt_Complete(peerConnectState *peer)
|
|||||||
/* start a connection attempt */
|
/* start a connection attempt */
|
||||||
if (peer->connAddrs.size() > 0)
|
if (peer->connAddrs.size() > 0)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::ostringstream out;
|
std::ostringstream out;
|
||||||
out << "p3LinkMgr::locked_ConnectAttempt_Complete() Started CONNECT ATTEMPT! " ;
|
out << "p3LinkMgr::locked_ConnectAttempt_Complete() Started CONNECT ATTEMPT! " ;
|
||||||
out << std::endl;
|
out << std::endl;
|
||||||
out << "p3LinkMgr::locked_ConnectAttempt_Complete() ConnAddr Count: " << peer->connAddrs.size();
|
out << "p3LinkMgr::locked_ConnectAttempt_Complete() ConnAddr Count: " << peer->connAddrs.size();
|
||||||
rslog(RSL_DEBUG_ALERT, p3connectzone, out.str());
|
rslog(RSL_DEBUG_ALERT, p3connectzone, out.str());
|
||||||
std::cerr << out.str() << std::endl;
|
std::cerr << out.str() << std::endl;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1599,11 +1666,11 @@ bool p3LinkMgr::locked_ConnectAttempt_Complete(peerConnectState *peer)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef LINKMGR_DEBUG
|
||||||
std::ostringstream out;
|
std::ostringstream out;
|
||||||
out << "p3LinkMgr::locked_ConnectAttempt_Complete() No addr in the connect attempt list. Not suitable for CONNECT ATTEMPT! ";
|
out << "p3LinkMgr::locked_ConnectAttempt_Complete() No addr in the connect attempt list. Not suitable for CONNECT ATTEMPT! ";
|
||||||
rslog(RSL_DEBUG_ALERT, p3connectzone, out.str());
|
rslog(RSL_DEBUG_ALERT, p3connectzone, out.str());
|
||||||
std::cerr << out.str() << std::endl;
|
std::cerr << out.str() << std::endl;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1620,6 +1687,11 @@ int p3LinkMgr::addFriend(const std::string &id, bool isVisible)
|
|||||||
{
|
{
|
||||||
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
||||||
|
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::addFriend(" << id << "," << isVisible << ")";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::map<std::string, peerConnectState>::iterator it;
|
std::map<std::string, peerConnectState>::iterator it;
|
||||||
it = mFriendList.find(id);
|
it = mFriendList.find(id);
|
||||||
|
|
||||||
@ -1632,6 +1704,10 @@ int p3LinkMgr::addFriend(const std::string &id, bool isVisible)
|
|||||||
|
|
||||||
peerConnectState pcs;
|
peerConnectState pcs;
|
||||||
pcs.dhtVisible = isVisible;
|
pcs.dhtVisible = isVisible;
|
||||||
|
pcs.id = id;
|
||||||
|
pcs.name = "Dummy Id Name";
|
||||||
|
pcs.state = RS_PEER_S_FRIEND;
|
||||||
|
pcs.actions = RS_PEER_NEW;
|
||||||
|
|
||||||
mFriendList[id] = pcs;
|
mFriendList[id] = pcs;
|
||||||
}
|
}
|
||||||
@ -1646,6 +1722,11 @@ int p3LinkMgr::removeFriend(const std::string &id)
|
|||||||
{
|
{
|
||||||
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
||||||
|
|
||||||
|
#ifdef LINKMGR_DEBUG
|
||||||
|
std::cerr << "p3LinkMgr::removeFriend(" << id << ")";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::map<std::string, peerConnectState>::iterator it;
|
std::map<std::string, peerConnectState>::iterator it;
|
||||||
it = mFriendList.find(id);
|
it = mFriendList.find(id);
|
||||||
|
|
||||||
@ -1663,5 +1744,31 @@ int p3LinkMgr::removeFriend(const std::string &id)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void printConnectState(std::ostream &out, peerConnectState &peer)
|
||||||
|
{
|
||||||
|
|
||||||
|
out << "Friend: " << peer.name << " Id: " << peer.id << " State: " << peer.state;
|
||||||
|
if (peer.state & RS_PEER_S_FRIEND)
|
||||||
|
out << " S:RS_PEER_S_FRIEND";
|
||||||
|
if (peer.state & RS_PEER_S_ONLINE)
|
||||||
|
out << " S:RS_PEER_S_ONLINE";
|
||||||
|
if (peer.state & RS_PEER_S_CONNECTED)
|
||||||
|
out << " S:RS_PEER_S_CONNECTED";
|
||||||
|
out << " Actions: " << peer.actions;
|
||||||
|
if (peer.actions & RS_PEER_NEW)
|
||||||
|
out << " A:RS_PEER_NEW";
|
||||||
|
if (peer.actions & RS_PEER_MOVED)
|
||||||
|
out << " A:RS_PEER_MOVED";
|
||||||
|
if (peer.actions & RS_PEER_CONNECTED)
|
||||||
|
out << " A:RS_PEER_CONNECTED";
|
||||||
|
if (peer.actions & RS_PEER_DISCONNECTED)
|
||||||
|
out << " A:RS_PEER_DISCONNECTED";
|
||||||
|
if (peer.actions & RS_PEER_CONNECT_REQ)
|
||||||
|
out << " A:RS_PEER_CONNECT_REQ";
|
||||||
|
|
||||||
|
out << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -68,11 +68,13 @@ const uint32_t MAX_NETWORK_INIT = 70; /* timeout before network reset */
|
|||||||
const uint32_t MIN_TIME_BETWEEN_NET_RESET = 5;
|
const uint32_t MIN_TIME_BETWEEN_NET_RESET = 5;
|
||||||
|
|
||||||
/****
|
/****
|
||||||
* #define CONN_DEBUG 1
|
* #define NETMGR_DEBUG 1
|
||||||
* #define CONN_DEBUG_RESET 1
|
* #define NETMGR_DEBUG_RESET 1
|
||||||
* #define CONN_DEBUG_TICK 1
|
* #define NETMGR_DEBUG_TICK 1
|
||||||
***/
|
***/
|
||||||
|
|
||||||
|
#define NETMGR_DEBUG_RESET 1
|
||||||
|
|
||||||
pqiNetStatus::pqiNetStatus()
|
pqiNetStatus::pqiNetStatus()
|
||||||
:mLocalAddrOk(false), mExtAddrOk(false), mExtAddrStableOk(false),
|
:mLocalAddrOk(false), mExtAddrOk(false), mExtAddrStableOk(false),
|
||||||
mUpnpOk(false), mDhtOk(false), mResetReq(false)
|
mUpnpOk(false), mDhtOk(false), mResetReq(false)
|
||||||
@ -126,7 +128,7 @@ p3NetMgr::p3NetMgr()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr() Startup" << std::endl;
|
std::cerr << "p3NetMgr() Startup" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -245,7 +247,7 @@ uint32_t p3NetMgr::getConnectModes()
|
|||||||
|
|
||||||
void p3NetMgr::netReset()
|
void p3NetMgr::netReset()
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netReset() Called" << std::endl;
|
std::cerr << "p3NetMgr::netReset() Called" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -254,19 +256,19 @@ void p3NetMgr::netReset()
|
|||||||
// Will initiate a new call for determining the external ip.
|
// Will initiate a new call for determining the external ip.
|
||||||
if (mUseExtAddrFinder)
|
if (mUseExtAddrFinder)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netReset() restarting AddrFinder" << std::endl;
|
std::cerr << "p3NetMgr::netReset() restarting AddrFinder" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
mExtAddrFinder->reset() ;
|
mExtAddrFinder->reset() ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netReset() ExtAddrFinder Disabled" << std::endl;
|
std::cerr << "p3NetMgr::netReset() ExtAddrFinder Disabled" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netReset() resetting NetStatus" << std::endl;
|
std::cerr << "p3NetMgr::netReset() resetting NetStatus" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -284,14 +286,14 @@ void p3NetMgr::netReset()
|
|||||||
|
|
||||||
struct sockaddr_in iaddr = mLocalAddr;
|
struct sockaddr_in iaddr = mLocalAddr;
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netReset() resetting listeners" << std::endl;
|
std::cerr << "p3NetMgr::netReset() resetting listeners" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
std::list<pqiNetListener *>::const_iterator it;
|
std::list<pqiNetListener *>::const_iterator it;
|
||||||
for(it = mNetListeners.begin(); it != mNetListeners.end(); it++)
|
for(it = mNetListeners.begin(); it != mNetListeners.end(); it++)
|
||||||
{
|
{
|
||||||
(*it)->resetListener(iaddr);
|
(*it)->resetListener(iaddr);
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netReset() reset listener" << std::endl;
|
std::cerr << "p3NetMgr::netReset() reset listener" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -303,7 +305,7 @@ void p3NetMgr::netReset()
|
|||||||
netStatusReset_locked();
|
netStatusReset_locked();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netReset() done" << std::endl;
|
std::cerr << "p3NetMgr::netReset() done" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -319,7 +321,7 @@ void p3NetMgr::netStatusReset_locked()
|
|||||||
|
|
||||||
bool p3NetMgr::shutdown() /* blocking shutdown call */
|
bool p3NetMgr::shutdown() /* blocking shutdown call */
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::shutdown()";
|
std::cerr << "p3NetMgr::shutdown()";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -350,7 +352,7 @@ void p3NetMgr::netStartup()
|
|||||||
/* StunInit gets a list of peers, and asks the DHT to find them...
|
/* StunInit gets a list of peers, and asks the DHT to find them...
|
||||||
* This is needed for all systems so startup straight away
|
* This is needed for all systems so startup straight away
|
||||||
*/
|
*/
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netStartup()" << std::endl;
|
std::cerr << "p3NetMgr::netStartup()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -365,7 +367,7 @@ void p3NetMgr::netStartup()
|
|||||||
mNetInitTS = time(NULL);
|
mNetInitTS = time(NULL);
|
||||||
netStatusReset_locked();
|
netStatusReset_locked();
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netStartup() resetting mNetInitTS / Status" << std::endl;
|
std::cerr << "p3NetMgr::netStartup() resetting mNetInitTS / Status" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
mNetMode &= ~(RS_NET_MODE_ACTUAL);
|
mNetMode &= ~(RS_NET_MODE_ACTUAL);
|
||||||
@ -374,7 +376,7 @@ void p3NetMgr::netStartup()
|
|||||||
{
|
{
|
||||||
|
|
||||||
case RS_NET_MODE_TRY_EXT: /* v similar to UDP */
|
case RS_NET_MODE_TRY_EXT: /* v similar to UDP */
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netStartup() TRY_EXT mode";
|
std::cerr << "p3NetMgr::netStartup() TRY_EXT mode";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -383,7 +385,7 @@ void p3NetMgr::netStartup()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_NET_MODE_TRY_UDP:
|
case RS_NET_MODE_TRY_UDP:
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netStartup() TRY_UDP mode";
|
std::cerr << "p3NetMgr::netStartup() TRY_UDP mode";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -393,13 +395,13 @@ void p3NetMgr::netStartup()
|
|||||||
|
|
||||||
default: // Fall through.
|
default: // Fall through.
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netStartup() UNKNOWN mode";
|
std::cerr << "p3NetMgr::netStartup() UNKNOWN mode";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case RS_NET_MODE_TRY_UPNP:
|
case RS_NET_MODE_TRY_UPNP:
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::netStartup() TRY_UPNP mode";
|
std::cerr << "p3NetMgr::netStartup() TRY_UPNP mode";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -423,7 +425,7 @@ void p3NetMgr::tick()
|
|||||||
void p3NetMgr::netTick()
|
void p3NetMgr::netTick()
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_TICK
|
#ifdef NETMGR_DEBUG_TICK
|
||||||
std::cerr << "p3NetMgr::netTick()" << std::endl;
|
std::cerr << "p3NetMgr::netTick()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -447,14 +449,14 @@ void p3NetMgr::netTick()
|
|||||||
{
|
{
|
||||||
case RS_NET_NEEDS_RESET:
|
case RS_NET_NEEDS_RESET:
|
||||||
|
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netTick() STATUS: NEEDS_RESET" << std::endl;
|
std::cerr << "p3NetMgr::netTick() STATUS: NEEDS_RESET" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netReset();
|
netReset();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_NET_UNKNOWN:
|
case RS_NET_UNKNOWN:
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netTick() STATUS: UNKNOWN" << std::endl;
|
std::cerr << "p3NetMgr::netTick() STATUS: UNKNOWN" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -463,7 +465,7 @@ void p3NetMgr::netTick()
|
|||||||
*/
|
*/
|
||||||
if (age < STARTUP_DELAY)
|
if (age < STARTUP_DELAY)
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netTick() Delaying Startup" << std::endl;
|
std::cerr << "p3NetMgr::netTick() Delaying Startup" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -475,14 +477,14 @@ void p3NetMgr::netTick()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_NET_UPNP_INIT:
|
case RS_NET_UPNP_INIT:
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netTick() STATUS: UPNP_INIT" << std::endl;
|
std::cerr << "p3NetMgr::netTick() STATUS: UPNP_INIT" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netUpnpInit();
|
netUpnpInit();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_NET_UPNP_SETUP:
|
case RS_NET_UPNP_SETUP:
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netTick() STATUS: UPNP_SETUP" << std::endl;
|
std::cerr << "p3NetMgr::netTick() STATUS: UPNP_SETUP" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netUpnpCheck();
|
netUpnpCheck();
|
||||||
@ -490,14 +492,14 @@ void p3NetMgr::netTick()
|
|||||||
|
|
||||||
|
|
||||||
case RS_NET_EXT_SETUP:
|
case RS_NET_EXT_SETUP:
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netTick() STATUS: EXT_SETUP" << std::endl;
|
std::cerr << "p3NetMgr::netTick() STATUS: EXT_SETUP" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netExtCheck();
|
netExtCheck();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_NET_DONE:
|
case RS_NET_DONE:
|
||||||
#ifdef CONN_DEBUG_TICK
|
#ifdef NETMGR_DEBUG_TICK
|
||||||
std::cerr << "p3NetMgr::netTick() STATUS: DONE" << std::endl;
|
std::cerr << "p3NetMgr::netTick() STATUS: DONE" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -506,7 +508,7 @@ void p3NetMgr::netTick()
|
|||||||
case RS_NET_LOOPBACK:
|
case RS_NET_LOOPBACK:
|
||||||
//don't do a shutdown because a client in a computer without local network might be usefull for debug.
|
//don't do a shutdown because a client in a computer without local network might be usefull for debug.
|
||||||
//shutdown();
|
//shutdown();
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netTick() STATUS: RS_NET_LOOPBACK" << std::endl;
|
std::cerr << "p3NetMgr::netTick() STATUS: RS_NET_LOOPBACK" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
@ -519,7 +521,7 @@ void p3NetMgr::netTick()
|
|||||||
|
|
||||||
void p3NetMgr::netDhtInit()
|
void p3NetMgr::netDhtInit()
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netDhtInit()" << std::endl;
|
std::cerr << "p3NetMgr::netDhtInit()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -535,7 +537,7 @@ void p3NetMgr::netDhtInit()
|
|||||||
|
|
||||||
void p3NetMgr::netUpnpInit()
|
void p3NetMgr::netUpnpInit()
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netUpnpInit()" << std::endl;
|
std::cerr << "p3NetMgr::netUpnpInit()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
uint16_t eport, iport;
|
uint16_t eport, iport;
|
||||||
@ -565,7 +567,7 @@ void p3NetMgr::netUpnpCheck()
|
|||||||
|
|
||||||
time_t delta = time(NULL) - mNetInitTS;
|
time_t delta = time(NULL) - mNetInitTS;
|
||||||
|
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netUpnpCheck() age: " << delta << std::endl;
|
std::cerr << "p3NetMgr::netUpnpCheck() age: " << delta << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -577,7 +579,7 @@ void p3NetMgr::netUpnpCheck()
|
|||||||
if (((upnpState == 0) && (delta > (time_t)MAX_UPNP_INIT)) ||
|
if (((upnpState == 0) && (delta > (time_t)MAX_UPNP_INIT)) ||
|
||||||
((upnpState > 0) && (delta > (time_t)MAX_UPNP_COMPLETE)))
|
((upnpState > 0) && (delta > (time_t)MAX_UPNP_COMPLETE)))
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
||||||
std::cerr << "Upnp Check failed." << std::endl;
|
std::cerr << "Upnp Check failed." << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -592,7 +594,7 @@ void p3NetMgr::netUpnpCheck()
|
|||||||
}
|
}
|
||||||
else if ((upnpState > 0) && netAssistExtAddress(extAddr))
|
else if ((upnpState > 0) && netAssistExtAddress(extAddr))
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
||||||
std::cerr << "Upnp Check success state: " << upnpState << std::endl;
|
std::cerr << "Upnp Check success state: " << upnpState << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -605,7 +607,7 @@ void p3NetMgr::netUpnpCheck()
|
|||||||
*/
|
*/
|
||||||
if (isValidNet(&(extAddr.sin_addr)))
|
if (isValidNet(&(extAddr.sin_addr)))
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
||||||
std::cerr << "UpnpAddr: " << rs_inet_ntoa(extAddr.sin_addr);
|
std::cerr << "UpnpAddr: " << rs_inet_ntoa(extAddr.sin_addr);
|
||||||
std::cerr << ":" << ntohs(extAddr.sin_port);
|
std::cerr << ":" << ntohs(extAddr.sin_port);
|
||||||
@ -624,7 +626,7 @@ void p3NetMgr::netUpnpCheck()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
std::cerr << "p3NetMgr::netUpnpCheck() ";
|
||||||
std::cerr << "Upnp Check Continues: status: " << upnpState << std::endl;
|
std::cerr << "Upnp Check Continues: status: " << upnpState << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -635,7 +637,7 @@ void p3NetMgr::netUpnpCheck()
|
|||||||
|
|
||||||
void p3NetMgr::netExtCheck()
|
void p3NetMgr::netExtCheck()
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck()" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
@ -648,14 +650,14 @@ void p3NetMgr::netExtCheck()
|
|||||||
/* (1) UPnP -> which handles itself */
|
/* (1) UPnP -> which handles itself */
|
||||||
if (!mNetFlags.mExtAddrOk)
|
if (!mNetFlags.mExtAddrOk)
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() Ext Not Ok" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() Ext Not Ok" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* net Assist */
|
/* net Assist */
|
||||||
if (netAssistExtAddress(tmpip))
|
if (netAssistExtAddress(tmpip))
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() Ext supplied from netAssistExternalAddress()" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() Ext supplied from netAssistExternalAddress()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
if (isValidNet(&(tmpip.sin_addr)))
|
if (isValidNet(&(tmpip.sin_addr)))
|
||||||
@ -668,7 +670,7 @@ void p3NetMgr::netExtCheck()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() Bad Address supplied from netAssistExternalAddress()" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() Bad Address supplied from netAssistExternalAddress()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -682,18 +684,18 @@ void p3NetMgr::netExtCheck()
|
|||||||
/* ExtAddrFinder */
|
/* ExtAddrFinder */
|
||||||
if (mUseExtAddrFinder)
|
if (mUseExtAddrFinder)
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() checking ExtAddrFinder" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() checking ExtAddrFinder" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
bool extFinderOk = mExtAddrFinder->hasValidIP(&(tmpip.sin_addr));
|
bool extFinderOk = mExtAddrFinder->hasValidIP(&(tmpip.sin_addr));
|
||||||
if (extFinderOk)
|
if (extFinderOk)
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() Ext supplied by ExtAddrFinder" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() Ext supplied by ExtAddrFinder" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
/* best guess at port */
|
/* best guess at port */
|
||||||
tmpip.sin_port = mNetFlags.mLocalAddr.sin_port;
|
tmpip.sin_port = mNetFlags.mLocalAddr.sin_port;
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() ";
|
std::cerr << "p3NetMgr::netExtCheck() ";
|
||||||
std::cerr << "ExtAddr: " << rs_inet_ntoa(tmpip.sin_addr);
|
std::cerr << "ExtAddr: " << rs_inet_ntoa(tmpip.sin_addr);
|
||||||
std::cerr << ":" << ntohs(tmpip.sin_port);
|
std::cerr << ":" << ntohs(tmpip.sin_port);
|
||||||
@ -718,7 +720,7 @@ void p3NetMgr::netExtCheck()
|
|||||||
if (mNetFlags.mExtAddrOk)
|
if (mNetFlags.mExtAddrOk)
|
||||||
{
|
{
|
||||||
|
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() ";
|
std::cerr << "p3NetMgr::netExtCheck() ";
|
||||||
std::cerr << "ExtAddr: " << rs_inet_ntoa(mNetFlags.mExtAddr.sin_addr);
|
std::cerr << "ExtAddr: " << rs_inet_ntoa(mNetFlags.mExtAddr.sin_addr);
|
||||||
std::cerr << ":" << ntohs(mNetFlags.mExtAddr.sin_port);
|
std::cerr << ":" << ntohs(mNetFlags.mExtAddr.sin_port);
|
||||||
@ -728,13 +730,13 @@ void p3NetMgr::netExtCheck()
|
|||||||
mExtAddr = mNetFlags.mExtAddr;
|
mExtAddr = mNetFlags.mExtAddr;
|
||||||
|
|
||||||
mNetStatus = RS_NET_DONE;
|
mNetStatus = RS_NET_DONE;
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() Ext Ok: RS_NET_DONE" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() Ext Ok: RS_NET_DONE" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!mNetFlags.mExtAddrStableOk)
|
if (!mNetFlags.mExtAddrStableOk)
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netUdpCheck() UDP Unstable :( ";
|
std::cerr << "p3NetMgr::netUdpCheck() UDP Unstable :( ";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << "p3NetMgr::netUdpCheck() We are unreachable";
|
std::cerr << "p3NetMgr::netUdpCheck() We are unreachable";
|
||||||
@ -772,7 +774,7 @@ void p3NetMgr::netExtCheck()
|
|||||||
|
|
||||||
if (mNetFlags.mExtAddrOk)
|
if (mNetFlags.mExtAddrOk)
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() setting netAssistSetAddress()" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() setting netAssistSetAddress()" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netAssistSetAddress(mNetFlags.mLocalAddr, mNetFlags.mExtAddr, mNetMode);
|
netAssistSetAddress(mNetFlags.mLocalAddr, mNetFlags.mExtAddr, mNetMode);
|
||||||
@ -789,7 +791,7 @@ void p3NetMgr::netExtCheck()
|
|||||||
/* flag unreachables! */
|
/* flag unreachables! */
|
||||||
if ((mNetFlags.mExtAddrOk) && (!mNetFlags.mExtAddrStableOk))
|
if ((mNetFlags.mExtAddrOk) && (!mNetFlags.mExtAddrStableOk))
|
||||||
{
|
{
|
||||||
#if defined(CONN_DEBUG_TICK) || defined(CONN_DEBUG_RESET)
|
#if defined(NETMGR_DEBUG_TICK) || defined(NETMGR_DEBUG_RESET)
|
||||||
std::cerr << "p3NetMgr::netExtCheck() Ext Unstable - Unreachable Check" << std::endl;
|
std::cerr << "p3NetMgr::netExtCheck() Ext Unstable - Unreachable Check" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -813,7 +815,7 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
/* if we don't have a valid address - reset */
|
/* if we don't have a valid address - reset */
|
||||||
if (!validAddr)
|
if (!validAddr)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() no Valid Network Address, resetting network." << std::endl;
|
std::cerr << "p3NetMgr::checkNetAddress() no Valid Network Address, resetting network." << std::endl;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -830,7 +832,7 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
oldAddr = mLocalAddr;
|
oldAddr = mLocalAddr;
|
||||||
addrChanged = (prefAddr.s_addr != mLocalAddr.sin_addr.s_addr);
|
addrChanged = (prefAddr.s_addr != mLocalAddr.sin_addr.s_addr);
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG_TICK
|
||||||
std::cerr << "p3NetMgr::checkNetAddress()";
|
std::cerr << "p3NetMgr::checkNetAddress()";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << "Current Local: " << rs_inet_ntoa(mLocalAddr.sin_addr);
|
std::cerr << "Current Local: " << rs_inet_ntoa(mLocalAddr.sin_addr);
|
||||||
@ -840,7 +842,7 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
if (addrChanged)
|
if (addrChanged)
|
||||||
{
|
{
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() Address Changed!";
|
std::cerr << "p3NetMgr::checkNetAddress() Address Changed!";
|
||||||
@ -859,7 +861,7 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
|
|
||||||
if(isLoopbackNet(&(mLocalAddr.sin_addr)))
|
if(isLoopbackNet(&(mLocalAddr.sin_addr)))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() laddr: Loopback" << std::endl;
|
std::cerr << "p3NetMgr::checkNetAddress() laddr: Loopback" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
mNetFlags.mLocalAddrOk = false;
|
mNetFlags.mLocalAddrOk = false;
|
||||||
@ -867,14 +869,14 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
}
|
}
|
||||||
else if (!isValidNet(&mLocalAddr.sin_addr))
|
else if (!isValidNet(&mLocalAddr.sin_addr))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() laddr: invalid" << std::endl;
|
std::cerr << "p3NetMgr::checkNetAddress() laddr: invalid" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
mNetFlags.mLocalAddrOk = false;
|
mNetFlags.mLocalAddrOk = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG_TICK
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() laddr okay" << std::endl;
|
std::cerr << "p3NetMgr::checkNetAddress() laddr okay" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
mNetFlags.mLocalAddrOk = true;
|
mNetFlags.mLocalAddrOk = true;
|
||||||
@ -884,7 +886,7 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
int port = ntohs(mLocalAddr.sin_port);
|
int port = ntohs(mLocalAddr.sin_port);
|
||||||
if ((port < PQI_MIN_PORT) || (port > PQI_MAX_PORT))
|
if ((port < PQI_MIN_PORT) || (port > PQI_MAX_PORT))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() Correcting Port to DEFAULT" << std::endl;
|
std::cerr << "p3NetMgr::checkNetAddress() Correcting Port to DEFAULT" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
// Generate a default port from SSL id. The port will always be the
|
// Generate a default port from SSL id. The port will always be the
|
||||||
@ -910,7 +912,7 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
mLocalAddr.sin_family = AF_INET;
|
mLocalAddr.sin_family = AF_INET;
|
||||||
mExtAddr.sin_family = AF_INET;
|
mExtAddr.sin_family = AF_INET;
|
||||||
|
|
||||||
#ifdef CONN_DEBUG_TICK
|
#ifdef NETMGR_DEBUG_TICK
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() Final Local Address: " << rs_inet_ntoa(mLocalAddr.sin_addr);
|
std::cerr << "p3NetMgr::checkNetAddress() Final Local Address: " << rs_inet_ntoa(mLocalAddr.sin_addr);
|
||||||
std::cerr << ":" << ntohs(mLocalAddr.sin_port) << std::endl;
|
std::cerr << ":" << ntohs(mLocalAddr.sin_port) << std::endl;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -920,7 +922,7 @@ bool p3NetMgr::checkNetAddress()
|
|||||||
|
|
||||||
if (addrChanged)
|
if (addrChanged)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::checkNetAddress() local address changed, resetting network." << std::endl;
|
std::cerr << "p3NetMgr::checkNetAddress() local address changed, resetting network." << std::endl;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -963,7 +965,7 @@ bool p3NetMgr::setLocalAddress(struct sockaddr_in addr)
|
|||||||
|
|
||||||
if (changed)
|
if (changed)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::setLocalAddress() Calling NetReset" << std::endl;
|
std::cerr << "p3NetMgr::setLocalAddress() Calling NetReset" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netReset();
|
netReset();
|
||||||
@ -987,7 +989,7 @@ bool p3NetMgr::setExtAddress(struct sockaddr_in addr)
|
|||||||
|
|
||||||
if (changed)
|
if (changed)
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::setExtAddress() Calling NetReset" << std::endl;
|
std::cerr << "p3NetMgr::setExtAddress() Calling NetReset" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netReset();
|
netReset();
|
||||||
@ -1004,7 +1006,7 @@ bool p3NetMgr::setNetworkMode(uint32_t netMode)
|
|||||||
|
|
||||||
oldNetMode = mNetMode;
|
oldNetMode = mNetMode;
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::setNetworkMode()";
|
std::cerr << "p3NetMgr::setNetworkMode()";
|
||||||
std::cerr << " Existing netMode: " << mNetMode;
|
std::cerr << " Existing netMode: " << mNetMode;
|
||||||
std::cerr << " Input netMode: " << netMode;
|
std::cerr << " Input netMode: " << netMode;
|
||||||
@ -1030,7 +1032,7 @@ bool p3NetMgr::setNetworkMode(uint32_t netMode)
|
|||||||
|
|
||||||
if ((netMode & RS_NET_MODE_ACTUAL) != (oldNetMode & RS_NET_MODE_ACTUAL))
|
if ((netMode & RS_NET_MODE_ACTUAL) != (oldNetMode & RS_NET_MODE_ACTUAL))
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG_RESET
|
#ifdef NETMGR_DEBUG_RESET
|
||||||
std::cerr << "p3NetMgr::setNetworkMode() Calling NetReset" << std::endl;
|
std::cerr << "p3NetMgr::setNetworkMode() Calling NetReset" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
netReset();
|
netReset();
|
||||||
@ -1150,7 +1152,7 @@ void p3NetMgr::addNetAssistConnect(uint32_t id, pqiNetAssistConnect *dht)
|
|||||||
bool p3NetMgr::enableNetAssistConnect(bool on)
|
bool p3NetMgr::enableNetAssistConnect(bool on)
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::enableNetAssistConnect(" << on << ")";
|
std::cerr << "p3NetMgr::enableNetAssistConnect(" << on << ")";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1170,7 +1172,7 @@ bool p3NetMgr::netAssistConnectEnabled()
|
|||||||
{
|
{
|
||||||
if ((it->second)->getEnabled())
|
if ((it->second)->getEnabled())
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::netAssistConnectEnabled() YES";
|
std::cerr << "p3NetMgr::netAssistConnectEnabled() YES";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1179,7 +1181,7 @@ bool p3NetMgr::netAssistConnectEnabled()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::netAssistConnectEnabled() NO";
|
std::cerr << "p3NetMgr::netAssistConnectEnabled() NO";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1195,7 +1197,7 @@ bool p3NetMgr::netAssistConnectActive()
|
|||||||
if ((it->second)->getActive())
|
if ((it->second)->getActive())
|
||||||
|
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::netAssistConnectActive() ACTIVE";
|
std::cerr << "p3NetMgr::netAssistConnectActive() ACTIVE";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1204,7 +1206,7 @@ bool p3NetMgr::netAssistConnectActive()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::netAssistConnectActive() INACTIVE";
|
std::cerr << "p3NetMgr::netAssistConnectActive() INACTIVE";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1220,7 +1222,7 @@ bool p3NetMgr::netAssistConnectStats(uint32_t &netsize, uint32_t &localnetsize)
|
|||||||
if (((it->second)->getActive()) && ((it->second)->getNetworkStats(netsize, localnetsize)))
|
if (((it->second)->getActive()) && ((it->second)->getNetworkStats(netsize, localnetsize)))
|
||||||
|
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::netAssistConnectStats(";
|
std::cerr << "p3NetMgr::netAssistConnectStats(";
|
||||||
std::cerr << netsize << ", " << localnetsize << ")";
|
std::cerr << netsize << ", " << localnetsize << ")";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -1230,7 +1232,7 @@ bool p3NetMgr::netAssistConnectStats(uint32_t &netsize, uint32_t &localnetsize)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::netAssistConnectStats() INACTIVE";
|
std::cerr << "p3NetMgr::netAssistConnectStats() INACTIVE";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1240,7 +1242,7 @@ bool p3NetMgr::netAssistConnectStats(uint32_t &netsize, uint32_t &localnetsize)
|
|||||||
|
|
||||||
bool p3NetMgr::netAssistConnectShutdown()
|
bool p3NetMgr::netAssistConnectShutdown()
|
||||||
{
|
{
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr::netAssistConnectShutdown()";
|
std::cerr << "p3NetMgr::netAssistConnectShutdown()";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -1364,7 +1366,7 @@ void p3NetMgr::setIPServersEnabled(bool b)
|
|||||||
mUseExtAddrFinder = b;
|
mUseExtAddrFinder = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONN_DEBUG
|
#ifdef NETMGR_DEBUG
|
||||||
std::cerr << "p3NetMgr: setIPServers to " << b << std::endl ;
|
std::cerr << "p3NetMgr: setIPServers to " << b << std::endl ;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -96,6 +96,23 @@ class RsDhtNetPeer
|
|||||||
std::string mRsId;
|
std::string mRsId;
|
||||||
|
|
||||||
uint32_t mDhtState;
|
uint32_t mDhtState;
|
||||||
|
|
||||||
|
//connectLogic.
|
||||||
|
std::string mConnectState;
|
||||||
|
|
||||||
|
// connect Status
|
||||||
|
uint32_t mPeerConnectState;
|
||||||
|
// connect mode
|
||||||
|
uint32_t mPeerConnectMode;
|
||||||
|
|
||||||
|
std::string mPeerConnectProxyId;
|
||||||
|
|
||||||
|
// Req Status.
|
||||||
|
uint32_t mPeerReqState;
|
||||||
|
|
||||||
|
// Peer Cb Mgs.
|
||||||
|
std::string mCbPeerMsg;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class RsDhtRelayEnd
|
class RsDhtRelayEnd
|
||||||
|
Loading…
Reference in New Issue
Block a user