summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-01-07 00:14:42 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-01-07 00:14:42 +0900
commit920583502e654e8ae3e47ecb8b5df515b2d072f2 (patch)
tree1e3bca7db322e9ba11df74314351ac744353caef /src
parentd429943d05726569758a884fa67238958972970f (diff)
Consider IP address and port when finding DHT node.
Diffstat (limited to 'src')
-rw-r--r--src/DHTBucket.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/DHTBucket.cc b/src/DHTBucket.cc
index ee5d0cae..04d2bb30 100644
--- a/src/DHTBucket.cc
+++ b/src/DHTBucket.cc
@@ -232,7 +232,8 @@ SharedHandle<DHTNode> DHTBucket::getNode(const unsigned char* nodeID, const std:
node->setPort(port);
std::deque<SharedHandle<DHTNode> >::const_iterator itr =
std::find_if(nodes_.begin(), nodes_.end(), derefEqual(node));
- if(itr == nodes_.end()) {
+ if(itr == nodes_.end() ||
+ (*itr)->getIPAddress() != ipaddr || (*itr)->getPort() != port) {
return SharedHandle<DHTNode>();
} else {
return *itr;