From 020bb7366537637b4be00a07418583ca3328a9e9 Mon Sep 17 00:00:00 2001 From: joss17 Date: Wed, 11 Nov 2009 16:47:54 +0000 Subject: [PATCH] add the ip list to the connect attemps git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1810 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- libretroshare/src/pqi/p3connmgr.cc | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/libretroshare/src/pqi/p3connmgr.cc b/libretroshare/src/pqi/p3connmgr.cc index a91c2be61..386abb5fa 100644 --- a/libretroshare/src/pqi/p3connmgr.cc +++ b/libretroshare/src/pqi/p3connmgr.cc @@ -2707,6 +2707,24 @@ bool p3ConnectMgr::retryConnectTCP(std::string id) } } + //add the ips off the ipAdressList + std::list ipList = it->second.getIpAddressList(); + for (std::list::iterator ipListIt = ipList.begin(); ipListIt!=(ipList.end()); ipListIt++) { +#ifdef CONN_DEBUG + std::cerr << "p3ConnectMgr::retryConnectTCP() adding ip : "; + std::cerr << inet_ntoa(ipListIt->ipAddr.sin_addr); + std::cerr << ":" << ntohs(ipListIt->ipAddr.sin_port); + std::cerr << std::endl; +#endif + peerConnectAddress pca; + pca.addr = ipListIt->ipAddr; + pca.type = RS_NET_CONN_TCP_UNKNOW_TOPOLOGY; + pca.delay = P3CONNMGR_TCP_DEFAULT_DELAY; + pca.ts = time(NULL); + pca.period = 0; + it->second.connAddrs.push_back(pca); + } + #endif // P3CONNMGR_NO_TCP_CONNECTIONS /* flag as last attempt to prevent loop */ @@ -2840,6 +2858,12 @@ bool p3ConnectMgr::setLocalAddress(std::string id, struct sockaddr_in addr) /* "it" points to peer */ it->second.currentlocaladdr = addr; + //update ip address list + IpAddressTimed ipAddressTimed; + ipAddressTimed.ipAddr = addr; + ipAddressTimed.seenTime = time(NULL); + it->second.updateIpAddressList(ipAddressTimed); + IndicateConfigChanged(); /**** INDICATE MSG CONFIG CHANGED! *****/ return true; @@ -2874,6 +2898,12 @@ bool p3ConnectMgr::setExtAddress(std::string id, struct sockaddr_in addr) /* "it" points to peer */ it->second.currentserveraddr = addr; + //update ip address list + IpAddressTimed ipAddressTimed; + ipAddressTimed.ipAddr = addr; + ipAddressTimed.seenTime = time(NULL); + it->second.updateIpAddressList(ipAddressTimed); + IndicateConfigChanged(); /**** INDICATE MSG CONFIG CHANGED! *****/ return true;