mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 22:25:04 -04:00
Fixed up BITDHT versioning.
* Advertises client as DBxxxx where xxxx is provided by using app. * Added COMPILE switches to enable ANONYMOUS version or remove BD portion. * Fixed version code. * Added slow increase in retry timeout, to reduce DHT traffic over time. now RETRY PERIOD = query age / 2 * initialised bdToken bdVersion etc length. * new bdboot.txt git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3615 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
d31cef0f11
commit
cc5fa5e5dc
9 changed files with 268 additions and 208 deletions
|
@ -120,7 +120,7 @@ virtual void bdPrintNodeId(std::ostream &out, const bdNodeId *a) = 0;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define BITDHT_PEER_STATUS_MASK_RECVD 0x000000ff
|
#define BITDHT_PEER_STATUS_MASK_RECVD 0x000000ff
|
||||||
#define BITDHT_PEER_STATUS_MASK_DHT 0x000000ff
|
#define BITDHT_PEER_STATUS_MASK_DHT 0x0000ff00
|
||||||
|
|
||||||
#define BITDHT_PEER_STATUS_RECV_PONG 0x00000001
|
#define BITDHT_PEER_STATUS_RECV_PONG 0x00000001
|
||||||
#define BITDHT_PEER_STATUS_RECV_NODES 0x00000002
|
#define BITDHT_PEER_STATUS_RECV_NODES 0x00000002
|
||||||
|
|
|
@ -114,7 +114,7 @@ int bitdht_response_ping_msg(bdToken *tid, bdNodeId *id, bdToken *vid,
|
||||||
|
|
||||||
be_add_keypair(dict, "t", tidnode);
|
be_add_keypair(dict, "t", tidnode);
|
||||||
be_add_keypair(dict, "y", yqrnode);
|
be_add_keypair(dict, "y", yqrnode);
|
||||||
be_add_keypair(dict, "V", vnode);
|
be_add_keypair(dict, "v", vnode);
|
||||||
|
|
||||||
#ifdef DEBUG_MSG_DUMP
|
#ifdef DEBUG_MSG_DUMP
|
||||||
/* dump answer */
|
/* dump answer */
|
||||||
|
|
|
@ -681,8 +681,6 @@ void bdNode::msgout_ping(bdId *id, bdToken *transId)
|
||||||
|
|
||||||
void bdNode::msgout_pong(bdId *id, bdToken *transId)
|
void bdNode::msgout_pong(bdId *id, bdToken *transId)
|
||||||
{
|
{
|
||||||
char version[5] = "RS50";
|
|
||||||
|
|
||||||
#ifdef DEBUG_NODE_MSGOUT
|
#ifdef DEBUG_NODE_MSGOUT
|
||||||
std::cerr << "bdNode::msgout_pong() TransId: ";
|
std::cerr << "bdNode::msgout_pong() TransId: ";
|
||||||
bdPrintTransId(std::cerr, transId);
|
bdPrintTransId(std::cerr, transId);
|
||||||
|
@ -696,8 +694,13 @@ void bdNode::msgout_pong(bdId *id, bdToken *transId)
|
||||||
|
|
||||||
/* generate message, send to udp */
|
/* generate message, send to udp */
|
||||||
bdToken vid;
|
bdToken vid;
|
||||||
memcpy(vid.data, version, 5);
|
int vlen = BITDHT_TOKEN_MAX_LEN;
|
||||||
vid.len = 4;
|
if (mDhtVersion.size() < vlen)
|
||||||
|
{
|
||||||
|
vlen = mDhtVersion.size();
|
||||||
|
}
|
||||||
|
memcpy(vid.data, mDhtVersion.c_str(), vlen);
|
||||||
|
vid.len = vlen;
|
||||||
|
|
||||||
char msg[10240];
|
char msg[10240];
|
||||||
int avail = 10240;
|
int avail = 10240;
|
||||||
|
@ -931,7 +934,19 @@ void bdNode::sendPkt(char *msg, int len, struct sockaddr_in addr)
|
||||||
void bdNode::recvPkt(char *msg, int len, struct sockaddr_in addr)
|
void bdNode::recvPkt(char *msg, int len, struct sockaddr_in addr)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_NODE_PARSE
|
#ifdef DEBUG_NODE_PARSE
|
||||||
fprintf(stderr, "bdNode::recvPkt()\n");
|
std::cerr << "bdNode::recvPkt() msg[" << len << "] = ";
|
||||||
|
for(int i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
if ((msg[i] > 31) && (msg[i] < 127))
|
||||||
|
{
|
||||||
|
std::cerr << msg[i];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "[" << (int) msg[i] << "]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* convert to a be_node */
|
/* convert to a be_node */
|
||||||
|
@ -1035,7 +1050,7 @@ void bdNode::recvPkt(char *msg, int len, struct sockaddr_in addr)
|
||||||
bdToken versionId;
|
bdToken versionId;
|
||||||
if (beType == BITDHT_MSG_TYPE_PONG)
|
if (beType == BITDHT_MSG_TYPE_PONG)
|
||||||
{
|
{
|
||||||
be_version = beMsgGetDictNode(be_data, "version");
|
be_version = beMsgGetDictNode(node, "v");
|
||||||
if (!be_version)
|
if (!be_version)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_NODE_PARSE
|
#ifdef DEBUG_NODE_PARSE
|
||||||
|
@ -1050,7 +1065,6 @@ void bdNode::recvPkt(char *msg, int len, struct sockaddr_in addr)
|
||||||
beMsgGetToken(be_version, versionId);
|
beMsgGetToken(be_version, versionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*********** handle target (query) or info_hash (get_hash) ************/
|
/*********** handle target (query) or info_hash (get_hash) ************/
|
||||||
bdNodeId target_info_hash;
|
bdNodeId target_info_hash;
|
||||||
be_node *be_target = NULL;
|
be_node *be_target = NULL;
|
||||||
|
@ -1202,7 +1216,15 @@ void bdNode::recvPkt(char *msg, int len, struct sockaddr_in addr)
|
||||||
mFns->bdPrintId(std::cerr, &srcId);
|
mFns->bdPrintId(std::cerr, &srcId);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
msgin_pong(&srcId, &transId, &versionId);
|
if (be_version)
|
||||||
|
{
|
||||||
|
msgin_pong(&srcId, &transId, &versionId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msgin_pong(&srcId, &transId, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case BITDHT_MSG_TYPE_FIND_NODE: /* a: id, transId, target */
|
case BITDHT_MSG_TYPE_FIND_NODE: /* a: id, transId, target */
|
||||||
|
@ -1361,40 +1383,50 @@ void bdNode::msgin_pong(bdId *id, bdToken *transId, bdToken *versionId)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* check two bytes */
|
/* check two bytes */
|
||||||
if ((versionId->len > 2) && (mDhtVersion.size() > 2) &&
|
if ((versionId->len >= 2) && (mDhtVersion.size() >= 2) &&
|
||||||
(versionId->data[0] == mDhtVersion[0]) && (versionId->data[1] == mDhtVersion[1]))
|
(versionId->data[0] == mDhtVersion[0]) && (versionId->data[1] == mDhtVersion[1]))
|
||||||
{
|
{
|
||||||
sameDhtEngine = true;
|
sameDhtEngine = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check two bytes */
|
/* check two bytes */
|
||||||
if ((versionId->len > 4) && (mDhtVersion.size() > 4) &&
|
if ((versionId->len >= 4) && (mDhtVersion.size() >= 4) &&
|
||||||
(versionId->data[2] == mDhtVersion[2]) && (versionId->data[3] == mDhtVersion[3]))
|
(versionId->data[2] == mDhtVersion[2]) && (versionId->data[3] == mDhtVersion[3]))
|
||||||
{
|
{
|
||||||
sameAppl = true;
|
sameAppl = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check two bytes */
|
/* check two bytes */
|
||||||
if ((versionId->len > 6) && (mDhtVersion.size() > 6) &&
|
if ((versionId->len >= 6) && (mDhtVersion.size() >= 6) &&
|
||||||
(versionId->data[4] == mDhtVersion[4]) && (versionId->data[5] == mDhtVersion[5]))
|
(versionId->data[4] == mDhtVersion[4]) && (versionId->data[5] == mDhtVersion[5]))
|
||||||
{
|
{
|
||||||
sameVersion = true;
|
sameVersion = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_MSGIN
|
||||||
|
std::cerr << "bdNode::msgin_pong() No Version";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
uint32_t peerflags = BITDHT_PEER_STATUS_RECV_PONG; /* should have id too */
|
uint32_t peerflags = BITDHT_PEER_STATUS_RECV_PONG; /* should have id too */
|
||||||
if (sameDhtEngine)
|
if (sameDhtEngine)
|
||||||
{
|
{
|
||||||
peerflags = BITDHT_PEER_STATUS_DHT_ENGINE;
|
peerflags |= BITDHT_PEER_STATUS_DHT_ENGINE;
|
||||||
}
|
}
|
||||||
if (sameAppl)
|
if (sameAppl)
|
||||||
{
|
{
|
||||||
peerflags = BITDHT_PEER_STATUS_DHT_APPL;
|
peerflags |= BITDHT_PEER_STATUS_DHT_APPL;
|
||||||
}
|
}
|
||||||
if (sameVersion)
|
if (sameVersion)
|
||||||
{
|
{
|
||||||
peerflags = BITDHT_PEER_STATUS_DHT_VERSION;
|
peerflags |= BITDHT_PEER_STATUS_DHT_VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
addPeer(id, peerflags);
|
addPeer(id, peerflags);
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
class bdToken
|
class bdToken
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
bdToken() :len(0) { return; }
|
||||||
uint32_t len;
|
uint32_t len;
|
||||||
unsigned char data[BITDHT_TOKEN_MAX_LEN];
|
unsigned char data[BITDHT_TOKEN_MAX_LEN];
|
||||||
};
|
};
|
||||||
|
@ -42,6 +43,7 @@ class bdToken
|
||||||
class bdCompactIds
|
class bdCompactIds
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
bdCompactIds() :len(0) { return; }
|
||||||
uint32_t len;
|
uint32_t len;
|
||||||
unsigned char data[BITDHT_TOKEN_MAX_LEN];
|
unsigned char data[BITDHT_TOKEN_MAX_LEN];
|
||||||
};
|
};
|
||||||
|
@ -49,6 +51,7 @@ class bdCompactIds
|
||||||
class bdVersion
|
class bdVersion
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
bdVersion() :len(0) { return; }
|
||||||
uint32_t len;
|
uint32_t len;
|
||||||
unsigned char data[BITDHT_TOKEN_MAX_LEN];
|
unsigned char data[BITDHT_TOKEN_MAX_LEN];
|
||||||
};
|
};
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
|
|
||||||
#define EXPECTED_REPLY 20
|
#define EXPECTED_REPLY 20
|
||||||
#define QUERY_IDLE_RETRY_PEER_PERIOD (mFns->bdNodesPerBucket() * 30)
|
#define QUERY_IDLE_RETRY_PEER_PERIOD 300 // 5min = (mFns->bdNodesPerBucket() * 30)
|
||||||
|
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
|
@ -81,6 +81,8 @@ bdQuery::bdQuery(const bdNodeId *id, std::list<bdId> &startList, uint32_t queryF
|
||||||
mQueryFlags = queryFlags;
|
mQueryFlags = queryFlags;
|
||||||
mQueryTS = now;
|
mQueryTS = now;
|
||||||
|
|
||||||
|
mQueryIdlePeerRetryPeriod = QUERY_IDLE_RETRY_PEER_PERIOD;
|
||||||
|
|
||||||
/* setup the limit of the search
|
/* setup the limit of the search
|
||||||
* by default it is setup to 000000 = exact match
|
* by default it is setup to 000000 = exact match
|
||||||
*/
|
*/
|
||||||
|
@ -114,6 +116,13 @@ int bdQuery::nextQuery(bdId &id, bdNodeId &targetNodeId)
|
||||||
|
|
||||||
/* search through through list, find closest not queried */
|
/* search through through list, find closest not queried */
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
|
|
||||||
|
/* update IdlePeerRetry */
|
||||||
|
if ((now - mQueryTS) / 2 > mQueryIdlePeerRetryPeriod)
|
||||||
|
{
|
||||||
|
mQueryIdlePeerRetryPeriod = (now-mQueryTS) / 2;
|
||||||
|
}
|
||||||
|
|
||||||
bool notFinished = false;
|
bool notFinished = false;
|
||||||
std::multimap<bdMetric, bdPeer>::iterator it;
|
std::multimap<bdMetric, bdPeer>::iterator it;
|
||||||
for(it = mClosest.begin(); it != mClosest.end(); it++)
|
for(it = mClosest.begin(); it != mClosest.end(); it++)
|
||||||
|
@ -133,7 +142,7 @@ int bdQuery::nextQuery(bdId &id, bdNodeId &targetNodeId)
|
||||||
|
|
||||||
/* re-request every so often */
|
/* re-request every so often */
|
||||||
if ((!queryPeer) && (mQueryFlags & BITDHT_QFLAGS_DO_IDLE) &&
|
if ((!queryPeer) && (mQueryFlags & BITDHT_QFLAGS_DO_IDLE) &&
|
||||||
(now - it->second.mLastSendTime > QUERY_IDLE_RETRY_PEER_PERIOD))
|
(now - it->second.mLastSendTime > mQueryIdlePeerRetryPeriod))
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_QUERY
|
#ifdef DEBUG_QUERY
|
||||||
fprintf(stderr, "NextQuery() Found out-of-date. queryPeer = true : ");
|
fprintf(stderr, "NextQuery() Found out-of-date. queryPeer = true : ");
|
||||||
|
|
|
@ -59,6 +59,8 @@ int printQuery();
|
||||||
time_t mQueryTS;
|
time_t mQueryTS;
|
||||||
uint32_t mQueryFlags;
|
uint32_t mQueryFlags;
|
||||||
|
|
||||||
|
int32_t mQueryIdlePeerRetryPeriod; // seconds between retries.
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// closest peers
|
// closest peers
|
||||||
|
|
|
@ -27,10 +27,9 @@
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* #define BE_DEBUG_DECODE 1
|
* #define BE_DEBUG_DECODE 1
|
||||||
|
* #define BE_DEBUG 1 // controlled from Makefile too.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
//#define BE_DEBUG_DECODE 1
|
|
||||||
|
|
||||||
#ifdef BE_DEBUG_DECODE
|
#ifdef BE_DEBUG_DECODE
|
||||||
#include <stdio.h> /* debug */
|
#include <stdio.h> /* debug */
|
||||||
#endif
|
#endif
|
||||||
|
@ -394,8 +393,9 @@ void be_dump_str(be_node *node)
|
||||||
}
|
}
|
||||||
|
|
||||||
int len = be_str_len(node);
|
int len = be_str_len(node);
|
||||||
|
int i = 0;
|
||||||
printf("str[%d] = ", len);
|
printf("str[%d] = ", len);
|
||||||
for(int i = 0; i < len; i++)
|
for(i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
/* sensible chars */
|
/* sensible chars */
|
||||||
if ((node->val.s[i] > 31) && (node->val.s[i] < 127))
|
if ((node->val.s[i] > 31) && (node->val.s[i] < 127))
|
||||||
|
|
|
@ -1,138 +1,3 @@
|
||||||
85.56.139.56 58749
|
|
||||||
71.196.189.66 43541
|
|
||||||
60.54.39.89 18756
|
|
||||||
112.207.137.130 45682
|
|
||||||
84.115.175.203 38839
|
|
||||||
85.10.16.82 42070
|
|
||||||
61.116.102.55 58995
|
|
||||||
87.56.74.190 51804
|
|
||||||
83.31.49.246 49408
|
|
||||||
88.132.33.234 10889
|
|
||||||
93.148.69.177 64396
|
|
||||||
95.140.7.82 45643
|
|
||||||
84.42.245.181 62910
|
|
||||||
71.172.80.247 16639
|
|
||||||
77.41.69.144 58436
|
|
||||||
189.239.185.252 63091
|
|
||||||
187.114.203.208 18571
|
|
||||||
70.75.204.73 34767
|
|
||||||
78.83.106.252 32836
|
|
||||||
95.139.113.36 30816
|
|
||||||
189.60.98.121 38345
|
|
||||||
220.132.72.212 27085
|
|
||||||
70.157.138.186 23602
|
|
||||||
189.136.163.215 22838
|
|
||||||
89.33.94.80 18377
|
|
||||||
79.111.165.2 19211
|
|
||||||
92.24.189.239 45717
|
|
||||||
193.25.104.85 45766
|
|
||||||
59.93.93.23 39382
|
|
||||||
89.18.194.180 53230
|
|
||||||
116.71.218.45 10165
|
|
||||||
156.34.28.98 45682
|
|
||||||
203.206.53.27 10358
|
|
||||||
41.235.61.5 16498
|
|
||||||
86.138.70.43 14685
|
|
||||||
183.14.156.148 16001
|
|
||||||
85.107.216.225 61077
|
|
||||||
79.89.31.240 23687
|
|
||||||
187.67.26.74 20595
|
|
||||||
24.87.88.9 49947
|
|
||||||
222.131.10.83 5070
|
|
||||||
212.117.169.181 55788
|
|
||||||
80.64.65.14 61551
|
|
||||||
81.232.90.184 43611
|
|
||||||
89.180.106.123 51337
|
|
||||||
71.180.229.140 25107
|
|
||||||
41.238.203.245 42311
|
|
||||||
71.227.139.224 32093
|
|
||||||
123.115.241.29 8808
|
|
||||||
62.45.98.176 6881
|
|
||||||
92.154.104.90 49500
|
|
||||||
78.60.71.95 39201
|
|
||||||
89.113.24.69 41489
|
|
||||||
98.222.41.217 55836
|
|
||||||
98.242.242.83 25455
|
|
||||||
99.41.207.6 58729
|
|
||||||
96.250.33.132 50343
|
|
||||||
93.80.210.92 53838
|
|
||||||
94.236.129.131 46060
|
|
||||||
83.142.210.17 17901
|
|
||||||
93.152.162.14 42404
|
|
||||||
71.82.210.81 26642
|
|
||||||
116.74.67.240 42370
|
|
||||||
98.225.224.13 16321
|
|
||||||
89.179.79.75 62045
|
|
||||||
24.250.154.26 52769
|
|
||||||
72.39.29.128 22844
|
|
||||||
194.186.188.48 63808
|
|
||||||
67.172.251.253 22076
|
|
||||||
92.13.58.11 55202
|
|
||||||
218.44.104.181 59116
|
|
||||||
91.195.208.8 6881
|
|
||||||
66.197.165.38 6821
|
|
||||||
70.160.28.191 29602
|
|
||||||
24.15.202.167 15309
|
|
||||||
118.128.194.3 35703
|
|
||||||
92.27.69.69 11399
|
|
||||||
113.169.9.165 20302
|
|
||||||
41.204.126.178 11275
|
|
||||||
66.212.214.127 22767
|
|
||||||
174.94.79.203 63317
|
|
||||||
83.84.130.254 2302
|
|
||||||
88.203.213.216 9463
|
|
||||||
173.174.10.130 39909
|
|
||||||
114.24.151.183 8262
|
|
||||||
121.164.15.29 13396
|
|
||||||
125.26.125.11 16915
|
|
||||||
95.130.12.19 61050
|
|
||||||
95.79.35.108 54704
|
|
||||||
62.30.225.190 10398
|
|
||||||
79.69.156.88 11179
|
|
||||||
76.28.227.60 10277
|
|
||||||
69.249.116.97 60199
|
|
||||||
118.100.44.109 48673
|
|
||||||
114.47.173.140 12818
|
|
||||||
79.116.217.129 36525
|
|
||||||
64.46.21.119 30393
|
|
||||||
209.82.182.182 46512
|
|
||||||
95.56.18.8 55061
|
|
||||||
24.210.149.136 45504
|
|
||||||
189.110.174.160 42176
|
|
||||||
210.159.160.128 43535
|
|
||||||
119.179.53.14 16001
|
|
||||||
212.63.215.33 49001
|
|
||||||
78.61.116.247 56061
|
|
||||||
212.80.48.31 11175
|
|
||||||
77.49.170.106 30929
|
|
||||||
211.187.166.100 46368
|
|
||||||
186.45.162.37 54458
|
|
||||||
84.52.32.176 22994
|
|
||||||
89.34.93.54 23540
|
|
||||||
213.151.5.123 21520
|
|
||||||
173.72.137.187 27512
|
|
||||||
212.75.18.238 9486
|
|
||||||
212.21.20.244 24825
|
|
||||||
95.7.164.167 23502
|
|
||||||
116.0.246.100 11209
|
|
||||||
58.153.12.250 5067
|
|
||||||
77.126.4.157 63977
|
|
||||||
79.81.134.243 12275
|
|
||||||
81.89.88.35 20576
|
|
||||||
188.19.198.174 9853
|
|
||||||
118.233.55.189 14280
|
|
||||||
95.155.118.39 9334
|
|
||||||
83.97.66.151 12608
|
|
||||||
202.125.62.131 7444
|
|
||||||
61.57.105.113 22728
|
|
||||||
81.82.115.46 43952
|
|
||||||
79.111.74.223 45987
|
|
||||||
60.56.221.89 1069
|
|
||||||
109.74.209.168 62393
|
|
||||||
76.224.27.8 56053
|
|
||||||
79.163.179.77 26850
|
|
||||||
189.32.67.235 63258
|
|
||||||
75.84.157.242 15877
|
|
||||||
142.177.246.95 59112
|
142.177.246.95 59112
|
||||||
116.2.32.161 20124
|
116.2.32.161 20124
|
||||||
188.126.46.50 44950
|
188.126.46.50 44950
|
||||||
|
@ -145,7 +10,6 @@
|
||||||
77.81.214.54 55140
|
77.81.214.54 55140
|
||||||
188.2.177.127 18893
|
188.2.177.127 18893
|
||||||
77.106.248.215 61010
|
77.106.248.215 61010
|
||||||
76.189.218.104 31714
|
|
||||||
92.40.218.25 17436
|
92.40.218.25 17436
|
||||||
79.11.74.201 25511
|
79.11.74.201 25511
|
||||||
124.217.18.33 52665
|
124.217.18.33 52665
|
||||||
|
@ -153,20 +17,16 @@
|
||||||
116.75.93.225 17753
|
116.75.93.225 17753
|
||||||
91.154.247.194 47519
|
91.154.247.194 47519
|
||||||
85.157.34.95 39877
|
85.157.34.95 39877
|
||||||
72.12.147.238 48200
|
|
||||||
87.207.198.164 57380
|
87.207.198.164 57380
|
||||||
76.88.103.96 6688
|
76.88.103.96 6688
|
||||||
69.156.182.48 9745
|
69.156.182.48 9745
|
||||||
174.118.75.21 57528
|
174.118.75.21 57528
|
||||||
78.131.114.243 35625
|
78.131.114.243 35625
|
||||||
178.162.183.226 6821
|
|
||||||
85.120.227.7 39679
|
85.120.227.7 39679
|
||||||
77.108.227.234 46150
|
|
||||||
67.21.102.65 61696
|
67.21.102.65 61696
|
||||||
90.20.253.243 17134
|
90.20.253.243 17134
|
||||||
77.106.112.192 63044
|
77.106.112.192 63044
|
||||||
89.132.70.154 54892
|
89.132.70.154 54892
|
||||||
80.190.139.91 6892
|
|
||||||
89.228.34.41 11402
|
89.228.34.41 11402
|
||||||
99.16.45.162 58728
|
99.16.45.162 58728
|
||||||
114.169.35.228 10609
|
114.169.35.228 10609
|
||||||
|
@ -174,11 +34,8 @@
|
||||||
62.194.214.11 53956
|
62.194.214.11 53956
|
||||||
86.140.220.164 63805
|
86.140.220.164 63805
|
||||||
89.209.84.223 45645
|
89.209.84.223 45645
|
||||||
69.61.67.154 51413
|
|
||||||
71.176.151.158 34312
|
71.176.151.158 34312
|
||||||
87.252.246.164 10004
|
87.252.246.164 10004
|
||||||
76.83.2.223 51867
|
|
||||||
174.100.244.175 32360
|
|
||||||
174.6.184.150 55074
|
174.6.184.150 55074
|
||||||
122.116.144.204 6881
|
122.116.144.204 6881
|
||||||
188.126.95.124 51422
|
188.126.95.124 51422
|
||||||
|
@ -200,19 +57,14 @@
|
||||||
99.1.110.3 22440
|
99.1.110.3 22440
|
||||||
201.53.55.59 61292
|
201.53.55.59 61292
|
||||||
95.58.92.65 48802
|
95.58.92.65 48802
|
||||||
188.134.14.120 9089
|
|
||||||
78.72.106.34 53188
|
|
||||||
89.178.134.24 64389
|
89.178.134.24 64389
|
||||||
76.215.117.211 51413
|
76.215.117.211 51413
|
||||||
114.27.89.171 43349
|
114.27.89.171 43349
|
||||||
80.99.42.137 10566
|
80.99.42.137 10566
|
||||||
187.20.103.130 16333
|
187.20.103.130 16333
|
||||||
213.85.141.144 46456
|
213.85.141.144 46456
|
||||||
84.86.167.83 49250
|
|
||||||
85.186.48.10 25274
|
85.186.48.10 25274
|
||||||
70.48.43.93 59364
|
70.48.43.93 59364
|
||||||
94.31.232.73 47220
|
|
||||||
24.12.33.224 25976
|
|
||||||
114.154.228.24 14512
|
114.154.228.24 14512
|
||||||
202.67.20.232 13380
|
202.67.20.232 13380
|
||||||
94.15.164.174 45657
|
94.15.164.174 45657
|
||||||
|
@ -247,7 +99,6 @@
|
||||||
71.63.16.85 44949
|
71.63.16.85 44949
|
||||||
68.215.227.132 50513
|
68.215.227.132 50513
|
||||||
62.228.103.223 11249
|
62.228.103.223 11249
|
||||||
219.112.140.25 16297
|
|
||||||
118.168.199.192 21018
|
118.168.199.192 21018
|
||||||
89.103.74.81 11790
|
89.103.74.81 11790
|
||||||
77.110.201.72 55144
|
77.110.201.72 55144
|
||||||
|
@ -276,8 +127,6 @@
|
||||||
98.148.246.127 50300
|
98.148.246.127 50300
|
||||||
142.68.210.47 63653
|
142.68.210.47 63653
|
||||||
218.168.225.229 22678
|
218.168.225.229 22678
|
||||||
88.162.153.3 45698
|
|
||||||
109.87.83.228 48931
|
|
||||||
92.104.49.179 8500
|
92.104.49.179 8500
|
||||||
173.32.63.117 61054
|
173.32.63.117 61054
|
||||||
87.121.173.150 6148
|
87.121.173.150 6148
|
||||||
|
@ -285,26 +134,15 @@
|
||||||
91.154.137.162 11984
|
91.154.137.162 11984
|
||||||
80.171.58.170 22797
|
80.171.58.170 22797
|
||||||
94.27.109.220 36053
|
94.27.109.220 36053
|
||||||
67.215.242.138 6881
|
|
||||||
173.50.147.111 55669
|
|
||||||
67.240.191.70 53081
|
|
||||||
118.160.53.83 12731
|
118.160.53.83 12731
|
||||||
216.138.216.227 49001
|
216.138.216.227 49001
|
||||||
77.93.16.43 35431
|
|
||||||
178.82.201.203 12055
|
|
||||||
68.62.10.72 22867
|
|
||||||
88.177.195.185 20299
|
|
||||||
187.16.62.58 63388
|
187.16.62.58 63388
|
||||||
121.80.39.231 18252
|
121.80.39.231 18252
|
||||||
213.112.106.243 18786
|
213.112.106.243 18786
|
||||||
79.113.182.121 42808
|
79.113.182.121 42808
|
||||||
88.184.85.157 40478
|
|
||||||
82.119.65.229 41614
|
82.119.65.229 41614
|
||||||
24.35.86.183 48539
|
|
||||||
67.183.139.6 29721
|
|
||||||
121.124.190.173 50282
|
121.124.190.173 50282
|
||||||
117.194.194.73 13257
|
117.194.194.73 13257
|
||||||
110.175.157.60 12000
|
|
||||||
93.102.129.104 36854
|
93.102.129.104 36854
|
||||||
92.104.22.153 6881
|
92.104.22.153 6881
|
||||||
68.203.251.86 18992
|
68.203.251.86 18992
|
||||||
|
@ -315,20 +153,16 @@
|
||||||
88.115.78.139 15273
|
88.115.78.139 15273
|
||||||
123.117.107.29 19970
|
123.117.107.29 19970
|
||||||
93.96.190.204 6883
|
93.96.190.204 6883
|
||||||
83.248.90.115 53778
|
|
||||||
78.96.174.224 60387
|
78.96.174.224 60387
|
||||||
68.40.87.11 37253
|
68.40.87.11 37253
|
||||||
70.178.210.213 38087
|
|
||||||
77.101.133.246 14789
|
77.101.133.246 14789
|
||||||
115.143.47.172 30429
|
115.143.47.172 30429
|
||||||
93.100.92.224 27243
|
93.100.92.224 27243
|
||||||
80.80.153.98 11832
|
80.80.153.98 11832
|
||||||
91.206.4.9 3333
|
91.206.4.9 3333
|
||||||
188.35.8.236 62459
|
188.35.8.236 62459
|
||||||
86.107.79.233 49905
|
|
||||||
24.22.195.49 6881
|
24.22.195.49 6881
|
||||||
76.101.135.11 20009
|
76.101.135.11 20009
|
||||||
222.164.18.139 6881
|
|
||||||
193.106.25.130 57020
|
193.106.25.130 57020
|
||||||
79.107.183.240 45683
|
79.107.183.240 45683
|
||||||
71.229.83.233 45682
|
71.229.83.233 45682
|
||||||
|
@ -349,7 +183,6 @@
|
||||||
95.26.55.82 59164
|
95.26.55.82 59164
|
||||||
62.221.151.184 20536
|
62.221.151.184 20536
|
||||||
109.201.74.159 10207
|
109.201.74.159 10207
|
||||||
98.254.244.165 56359
|
|
||||||
203.185.36.12 19872
|
203.185.36.12 19872
|
||||||
210.73.1.92 12469
|
210.73.1.92 12469
|
||||||
218.171.240.219 10236
|
218.171.240.219 10236
|
||||||
|
@ -361,7 +194,6 @@
|
||||||
90.49.27.240 50510
|
90.49.27.240 50510
|
||||||
188.4.197.57 59491
|
188.4.197.57 59491
|
||||||
84.101.189.175 19015
|
84.101.189.175 19015
|
||||||
90.180.166.149 6880
|
|
||||||
67.189.42.213 53943
|
67.189.42.213 53943
|
||||||
113.199.242.93 35720
|
113.199.242.93 35720
|
||||||
183.179.97.20 24840
|
183.179.97.20 24840
|
||||||
|
@ -370,18 +202,13 @@
|
||||||
118.137.194.171 26705
|
118.137.194.171 26705
|
||||||
210.6.173.121 14972
|
210.6.173.121 14972
|
||||||
87.194.243.159 64670
|
87.194.243.159 64670
|
||||||
81.236.226.106 6882
|
|
||||||
83.77.171.200 15846
|
83.77.171.200 15846
|
||||||
84.52.63.250 14255
|
84.52.63.250 14255
|
||||||
67.215.242.139 6881
|
|
||||||
173.75.218.211 63205
|
173.75.218.211 63205
|
||||||
122.118.67.231 23915
|
122.118.67.231 23915
|
||||||
83.9.39.33 22798
|
83.9.39.33 22798
|
||||||
94.69.249.98 48057
|
94.69.249.98 48057
|
||||||
86.13.80.190 51326
|
|
||||||
88.106.69.215 11924
|
88.106.69.215 11924
|
||||||
212.242.219.216 47000
|
|
||||||
95.76.50.171 19698
|
|
||||||
88.89.180.142 10766
|
88.89.180.142 10766
|
||||||
77.45.166.176 32802
|
77.45.166.176 32802
|
||||||
24.14.73.12 40442
|
24.14.73.12 40442
|
||||||
|
@ -401,17 +228,13 @@
|
||||||
123.118.137.119 25421
|
123.118.137.119 25421
|
||||||
219.175.138.61 23739
|
219.175.138.61 23739
|
||||||
95.96.188.23 12400
|
95.96.188.23 12400
|
||||||
188.134.67.102 6882
|
|
||||||
24.98.183.64 57540
|
24.98.183.64 57540
|
||||||
93.123.41.127 23436
|
93.123.41.127 23436
|
||||||
173.87.8.115 22866
|
173.87.8.115 22866
|
||||||
200.29.72.19 46935
|
|
||||||
189.19.100.69 1224
|
189.19.100.69 1224
|
||||||
220.102.166.142 27156
|
220.102.166.142 27156
|
||||||
81.106.247.102 19244
|
|
||||||
82.25.111.214 21311
|
82.25.111.214 21311
|
||||||
193.201.198.253 63408
|
193.201.198.253 63408
|
||||||
94.47.188.106 56342
|
|
||||||
173.71.152.93 50989
|
173.71.152.93 50989
|
||||||
70.119.159.158 62727
|
70.119.159.158 62727
|
||||||
86.176.212.56 53046
|
86.176.212.56 53046
|
||||||
|
@ -432,31 +255,23 @@
|
||||||
87.70.142.8 15960
|
87.70.142.8 15960
|
||||||
98.135.71.79 29008
|
98.135.71.79 29008
|
||||||
117.47.90.194 10016
|
117.47.90.194 10016
|
||||||
99.139.154.78 8877
|
|
||||||
85.12.239.118 64317
|
|
||||||
76.65.18.45 7700
|
76.65.18.45 7700
|
||||||
87.224.254.21 25388
|
87.224.254.21 25388
|
||||||
93.84.84.155 51757
|
93.84.84.155 51757
|
||||||
84.124.205.238 23020
|
|
||||||
221.46.51.137 22507
|
|
||||||
213.16.120.166 54701
|
213.16.120.166 54701
|
||||||
92.81.249.11 11185
|
92.81.249.11 11185
|
||||||
77.54.70.32 35815
|
77.54.70.32 35815
|
||||||
60.244.140.57 12687
|
60.244.140.57 12687
|
||||||
109.165.40.174 23806
|
109.165.40.174 23806
|
||||||
147.46.216.167 50410
|
147.46.216.167 50410
|
||||||
99.57.47.134 19965
|
|
||||||
180.25.22.176 40005
|
180.25.22.176 40005
|
||||||
71.12.16.186 11422
|
71.12.16.186 11422
|
||||||
24.49.177.89 40029
|
|
||||||
88.141.135.252 58810
|
88.141.135.252 58810
|
||||||
92.112.66.105 55311
|
92.112.66.105 55311
|
||||||
111.249.218.164 56509
|
111.249.218.164 56509
|
||||||
68.149.168.121 64750
|
|
||||||
41.223.241.48 38494
|
41.223.241.48 38494
|
||||||
80.99.189.105 50001
|
80.99.189.105 50001
|
||||||
95.32.38.47 31175
|
95.32.38.47 31175
|
||||||
213.125.29.122 6881
|
|
||||||
92.28.148.131 22902
|
92.28.148.131 22902
|
||||||
114.42.222.199 22443
|
114.42.222.199 22443
|
||||||
175.115.187.64 13038
|
175.115.187.64 13038
|
||||||
|
@ -498,3 +313,188 @@
|
||||||
114.47.171.209 21087
|
114.47.171.209 21087
|
||||||
76.177.235.15 13961
|
76.177.235.15 13961
|
||||||
178.164.177.154 8929
|
178.164.177.154 8929
|
||||||
|
77.41.69.144 58436
|
||||||
|
93.152.162.14 42404
|
||||||
|
72.39.29.128 22844
|
||||||
|
70.160.28.191 29602
|
||||||
|
24.87.88.9 49947
|
||||||
|
41.204.126.178 11275
|
||||||
|
71.227.139.224 32093
|
||||||
|
76.28.227.60 10277
|
||||||
|
212.80.48.31 11175
|
||||||
|
95.130.12.19 61050
|
||||||
|
66.197.165.38 6821
|
||||||
|
72.12.147.238 48200
|
||||||
|
80.190.139.91 6892
|
||||||
|
77.108.227.234 46150
|
||||||
|
69.61.67.154 51413
|
||||||
|
209.82.182.182 46512
|
||||||
|
76.83.2.223 51867
|
||||||
|
76.189.218.104 31714
|
||||||
|
174.100.244.175 32360
|
||||||
|
178.162.183.226 6821
|
||||||
|
78.72.106.34 53188
|
||||||
|
188.134.14.120 9089
|
||||||
|
94.31.232.73 47220
|
||||||
|
24.12.33.224 25976
|
||||||
|
24.250.154.26 52769
|
||||||
|
84.86.167.83 49250
|
||||||
|
109.87.83.228 48931
|
||||||
|
88.162.153.3 45698
|
||||||
|
178.82.201.203 12055
|
||||||
|
67.215.242.138 6881
|
||||||
|
173.50.147.111 55669
|
||||||
|
67.240.191.70 53081
|
||||||
|
68.62.10.72 22867
|
||||||
|
88.184.85.157 40478
|
||||||
|
24.35.86.183 48539
|
||||||
|
67.183.139.6 29721
|
||||||
|
219.112.140.25 16297
|
||||||
|
110.175.157.60 12000
|
||||||
|
70.178.210.213 38087
|
||||||
|
77.93.16.43 35431
|
||||||
|
222.164.18.139 6881
|
||||||
|
83.248.90.115 53778
|
||||||
|
98.254.244.165 56359
|
||||||
|
90.180.166.149 6880
|
||||||
|
88.177.195.185 20299
|
||||||
|
67.215.242.139 6881
|
||||||
|
86.13.80.190 51326
|
||||||
|
86.107.79.233 49905
|
||||||
|
212.242.219.216 47000
|
||||||
|
95.76.50.171 19698
|
||||||
|
81.106.247.102 19244
|
||||||
|
188.134.67.102 6882
|
||||||
|
81.236.226.106 6882
|
||||||
|
94.47.188.106 56342
|
||||||
|
200.29.72.19 46935
|
||||||
|
99.139.154.78 8877
|
||||||
|
84.124.205.238 23020
|
||||||
|
213.125.29.122 6881
|
||||||
|
68.149.168.121 64750
|
||||||
|
99.57.47.134 19965
|
||||||
|
24.49.177.89 40029
|
||||||
|
221.46.51.137 22507
|
||||||
|
85.12.239.118 64317
|
||||||
|
78.90.116.74 19466
|
||||||
|
95.79.41.39 40496
|
||||||
|
213.133.98.4 6881
|
||||||
|
71.170.86.79 20322
|
||||||
|
90.154.242.204 59379
|
||||||
|
195.184.205.254 14834
|
||||||
|
201.37.1.184 20996
|
||||||
|
183.179.244.186 17518
|
||||||
|
98.219.151.25 33246
|
||||||
|
99.25.55.50 63685
|
||||||
|
95.90.32.98 21015
|
||||||
|
66.197.165.51 6821
|
||||||
|
68.44.82.53 12371
|
||||||
|
24.186.168.108 36916
|
||||||
|
74.79.37.90 31551
|
||||||
|
207.38.168.53 44635
|
||||||
|
209.202.78.188 14812
|
||||||
|
76.101.24.82 13823
|
||||||
|
68.46.57.52 11695
|
||||||
|
189.122.64.147 24387
|
||||||
|
123.163.132.87 64425
|
||||||
|
125.24.191.183 32201
|
||||||
|
123.231.81.151 45682
|
||||||
|
76.189.50.158 29456
|
||||||
|
212.117.167.140 10005
|
||||||
|
82.75.135.251 49155
|
||||||
|
77.250.123.105 6884
|
||||||
|
83.25.71.129 43558
|
||||||
|
212.117.1.153 17845
|
||||||
|
95.84.155.141 21057
|
||||||
|
195.22.140.72 4214
|
||||||
|
84.40.91.202 42870
|
||||||
|
85.10.46.180 24142
|
||||||
|
174.112.6.77 6881
|
||||||
|
151.12.60.142 42488
|
||||||
|
70.162.99.44 54092
|
||||||
|
193.91.144.166 43190
|
||||||
|
213.60.233.181 34385
|
||||||
|
71.235.207.19 53148
|
||||||
|
114.42.20.220 14842
|
||||||
|
81.98.127.164 48895
|
||||||
|
213.10.67.211 17030
|
||||||
|
62.45.245.22 6881
|
||||||
|
80.82.92.76 29221
|
||||||
|
89.28.27.55 17886
|
||||||
|
69.151.72.98 12345
|
||||||
|
78.187.75.191 41182
|
||||||
|
122.173.206.18 21221
|
||||||
|
75.53.192.65 56862
|
||||||
|
123.204.71.15 12632
|
||||||
|
213.46.44.100 59580
|
||||||
|
76.115.102.119 40940
|
||||||
|
85.227.178.143 25158
|
||||||
|
79.129.187.145 16458
|
||||||
|
195.98.76.238 24480
|
||||||
|
85.227.228.157 51413
|
||||||
|
83.252.123.146 58345
|
||||||
|
86.110.176.106 30000
|
||||||
|
74.13.82.92 6881
|
||||||
|
92.33.129.197 16432
|
||||||
|
109.252.111.191 33426
|
||||||
|
188.17.177.14 23023
|
||||||
|
94.232.104.14 59873
|
||||||
|
60.54.43.194 14046
|
||||||
|
122.211.106.11 14409
|
||||||
|
113.10.81.130 18145
|
||||||
|
193.23.54.47 23933
|
||||||
|
151.46.167.111 14107
|
||||||
|
74.73.144.128 8944
|
||||||
|
188.168.34.126 50862
|
||||||
|
85.30.148.74 34178
|
||||||
|
83.99.166.208 32575
|
||||||
|
109.226.90.250 59039
|
||||||
|
216.252.93.187 10248
|
||||||
|
201.127.74.88 23041
|
||||||
|
220.232.101.77 10765
|
||||||
|
64.53.28.136 10809
|
||||||
|
111.254.1.128 17447
|
||||||
|
74.44.148.55 34665
|
||||||
|
84.10.244.103 48553
|
||||||
|
109.173.50.36 49288
|
||||||
|
84.3.119.233 45000
|
||||||
|
216.121.134.38 10348
|
||||||
|
77.49.255.137 38764
|
||||||
|
96.252.163.120 35217
|
||||||
|
72.89.151.90 17320
|
||||||
|
89.168.85.181 15348
|
||||||
|
124.84.78.74 10674
|
||||||
|
190.188.199.13 62986
|
||||||
|
94.254.73.152 44229
|
||||||
|
192.188.244.1 10634
|
||||||
|
84.215.248.234 40991
|
||||||
|
79.119.111.31 63150
|
||||||
|
95.155.230.83 54993
|
||||||
|
83.85.60.232 6881
|
||||||
|
178.130.32.118 14247
|
||||||
|
78.36.196.61 59269
|
||||||
|
76.29.12.37 12308
|
||||||
|
78.180.216.41 17351
|
||||||
|
61.231.198.76 14685
|
||||||
|
118.14.157.125 21624
|
||||||
|
71.62.37.197 7914
|
||||||
|
71.29.78.193 55989
|
||||||
|
118.18.244.181 25949
|
||||||
|
92.97.196.183 42303
|
||||||
|
118.104.11.221 21289
|
||||||
|
190.174.204.226 42233
|
||||||
|
89.134.203.232 17633
|
||||||
|
95.26.152.248 60268
|
||||||
|
46.0.3.147 27613
|
||||||
|
24.49.32.34 28441
|
||||||
|
99.23.91.163 15016
|
||||||
|
90.209.174.130 21332
|
||||||
|
71.17.47.149 53164
|
||||||
|
119.246.176.132 6881
|
||||||
|
111.249.153.64 21540
|
||||||
|
123.119.85.79 24805
|
||||||
|
116.15.111.133 44914
|
||||||
|
109.154.116.92 24460
|
||||||
|
142.167.215.241 12277
|
||||||
|
78.8.106.8 50000
|
||||||
|
78.8.193.215 64759
|
||||||
|
|
|
@ -41,17 +41,31 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #define DEBUG_UDP_BITDHT 1
|
* #define DEBUG_UDP_BITDHT 1
|
||||||
|
*
|
||||||
|
* #define BITDHT_VERSION_ANONYMOUS 1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG_UDP_BITDHT 1
|
//#define DEBUG_UDP_BITDHT 1
|
||||||
|
|
||||||
|
#define BITDHT_VERSION_IDENTIFER 1
|
||||||
/*************************************/
|
/*************************************/
|
||||||
|
|
||||||
UdpBitDht::UdpBitDht(UdpPublisher *pub, bdNodeId *id, std::string dhtVersion, std::string bootstrapfile, bdDhtFunctions *fns)
|
UdpBitDht::UdpBitDht(UdpPublisher *pub, bdNodeId *id, std::string appVersion, std::string bootstrapfile, bdDhtFunctions *fns)
|
||||||
:UdpSubReceiver(pub), mFns(fns)
|
:UdpSubReceiver(pub), mFns(fns)
|
||||||
{
|
{
|
||||||
|
std::string usedVersion;
|
||||||
|
|
||||||
|
#ifdef BITDHT_VERSION_IDENTIFER
|
||||||
|
usedVersion = "BD";
|
||||||
|
#endif
|
||||||
|
usedVersion += appVersion;
|
||||||
|
|
||||||
|
#ifdef BITDHT_VERSION_ANONYMOUS
|
||||||
|
usedVersion = ""; /* blank it */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* setup nodeManager */
|
/* setup nodeManager */
|
||||||
mBitDhtManager = new bdNodeManager(id, dhtVersion, bootstrapfile, fns);
|
mBitDhtManager = new bdNodeManager(id, usedVersion, bootstrapfile, fns);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue