2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Drop connection if same Peer ID has been already seen.
	* src/DefaultBtInteractive.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-03-30 13:05:53 +00:00
parent f9c852c475
commit 9a922f8b02
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Drop connection if same Peer ID has been already seen.
* src/DefaultBtInteractive.cc
2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that waiting download unintentionally starts when

View File

@ -115,6 +115,17 @@ BtMessageHandle DefaultBtInteractive::receiveHandshake(bool quickReply) {
("CUID#%s - Drop connection from the same Peer ID",
util::itos(cuid).c_str()).str());
}
std::vector<SharedHandle<Peer> > activePeers;
_peerStorage->getActivePeers(activePeers);
for(std::vector<SharedHandle<Peer> >::const_iterator i = activePeers.begin(),
eoi = activePeers.end(); i != eoi; ++i) {
if(memcmp((*i)->getPeerId(), message->getPeerId(), PEER_ID_LENGTH) == 0) {
throw DL_ABORT_EX
(StringFormat
("CUID#%s - Same Peer ID has been already seen.",
util::itos(cuid).c_str()).str());
}
}
peer->setPeerId(message->getPeerId());