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>
|
||||
|
||||
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",
|
||||
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());
|
||||
|
||||
|
|
Loading…
Reference in New Issue