mirror of https://github.com/aria2/aria2
2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Drop connection if same Peer ID has been already seen. * src/DefaultBtInteractive.ccpull/1/head
parent
f9c852c475
commit
9a922f8b02
|
@ -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>
|
2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Fixed the bug that waiting download unintentionally starts when
|
Fixed the bug that waiting download unintentionally starts when
|
||||||
|
|
|
@ -115,6 +115,17 @@ BtMessageHandle DefaultBtInteractive::receiveHandshake(bool quickReply) {
|
||||||
("CUID#%s - Drop connection from the same Peer ID",
|
("CUID#%s - Drop connection from the same Peer ID",
|
||||||
util::itos(cuid).c_str()).str());
|
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());
|
peer->setPeerId(message->getPeerId());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue