diff --git a/src/net_processing.cpp b/src/net_processing.cpp --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2406,6 +2406,11 @@ addr.nTime = nNow - 5 * 24 * 60 * 60; } pfrom->AddAddressKnown(addr); + if (g_banman->IsBanned(addr)) { + // Do not process banned addresses beyond remembering + // we received them + continue; + } bool fReachable = IsReachable(addr); if (addr.nTime > nSince && !pfrom->fGetAddr && vAddr.size() <= 10 && addr.IsRoutable()) { @@ -3547,7 +3552,9 @@ std::vector vAddr = connman->GetAddresses(); FastRandomContext insecure_rand; for (const CAddress &addr : vAddr) { - pfrom->PushAddress(addr, insecure_rand); + if (!g_banman->IsBanned(addr)) { + pfrom->PushAddress(addr, insecure_rand); + } } return true; }