diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-08-03 11:44:24 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-08-03 11:44:24 +0000 |
| commit | 2bd5020f81bc8c9995590209d0bf024147c8a51a (patch) | |
| tree | 3cc93c71179570c7a4889a25f64f56d3c8820c84 /src/DHTFindNodeReplyMessage.cc | |
| parent | 939a372727b2f27e683a23ac38928b82de550376 (diff) | |
2010-08-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added bittorrent::packcompact() which replaces
bittorrent::createcompact() and supports IPv6 addresses. Rewritten
bittorrent::unpackcompact() and bittorrent::extractPeer() to
support IPv6 addresses. Fixed added.f flags in ut_pex.
* src/BtConstants.h
* src/DHTFindNodeReplyMessage.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableSerializer.cc
* src/DHTTokenTracker.cc
* src/DefaultBtAnnounce.cc
* src/UTPexExtensionMessage.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* test/BittorrentHelperTest.cc
* test/DHTFindNodeReplyMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTRoutingTableSerializerTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/UTPexExtensionMessageTest.cc
Diffstat (limited to 'src/DHTFindNodeReplyMessage.cc')
| -rw-r--r-- | src/DHTFindNodeReplyMessage.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/DHTFindNodeReplyMessage.cc b/src/DHTFindNodeReplyMessage.cc index 9bd3fcb6..99acbce1 100644 --- a/src/DHTFindNodeReplyMessage.cc +++ b/src/DHTFindNodeReplyMessage.cc @@ -81,8 +81,11 @@ SharedHandle<Dict> DHTFindNodeReplyMessage::getResponse() i != eoi && offset < DHTBucket::K*26; ++i) { SharedHandle<DHTNode> node = *i; memcpy(buffer+offset, node->getID(), DHT_ID_LENGTH); - if(bittorrent::createcompact(buffer+20+offset, node->getIPAddress(), - node->getPort())) { + unsigned char compact[COMPACT_LEN_IPV6]; + int compactlen = bittorrent::packcompact + (compact, node->getIPAddress(), node->getPort()); + if(compactlen == COMPACT_LEN_IPV4) { + memcpy(buffer+20+offset, compact, compactlen); offset += 26; } } |
