|
|
|
@ -5212,6 +5212,14 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
@@ -5212,6 +5212,14 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Only send one GetAddr response per connection to reduce resource waste
|
|
|
|
|
// and discourage addr stamping of INV announcements.
|
|
|
|
|
if (pfrom->fSentAddr) { |
|
|
|
|
LogPrint("net", "Ignoring repeated \"getaddr\". peer=%d\n", pfrom->id); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
pfrom->fSentAddr = true; |
|
|
|
|
|
|
|
|
|
pfrom->vAddrToSend.clear(); |
|
|
|
|
vector<CAddress> vAddr = addrman.GetAddr(); |
|
|
|
|
BOOST_FOREACH(const CAddress &addr, vAddr) |
|
|
|
|