diff options
author | Greg Sanders <gsanders87@gmail.com> | 2023-05-09 13:35:02 -0400 |
---|---|---|
committer | Greg Sanders <gsanders87@gmail.com> | 2023-05-18 10:03:37 -0400 |
commit | 13f9b20b4cb2f3f26e81184a77e9cf1f626d4f57 (patch) | |
tree | 44f756d5efcbfed3595516adbe3e68192e360e0a /src/net_processing.cpp | |
parent | cce96182ba2457335868c65dc16b081c3dee32ee (diff) |
Only request full blocks from the peer we thought had the block in-flight
This is a change in behavior so that if for some reason we request a block from a peer, we don't allow an unsolicited CMPCT_BLOCK announcement for that same block to cause a request for a full block from the uninvited peer (as some type of request is already outstanding from the original peer)
Diffstat (limited to 'src/net_processing.cpp')
-rw-r--r-- | src/net_processing.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 8148014815..78ff9c8cb9 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -4305,7 +4305,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, if (pindex->nChainWork <= m_chainman.ActiveChain().Tip()->nChainWork || // We know something better pindex->nTx != 0) { // We had this block at some point, but pruned it - if (fAlreadyInFlight) { + if (in_flight_same_peer) { // We requested this block for some reason, but our mempool will probably be useless // so we just grab the block via normal getdata std::vector<CInv> vInv(1); @@ -4384,7 +4384,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, } } } else { - if (fAlreadyInFlight) { + if (in_flight_same_peer) { // We requested this block, but its far into the future, so our // mempool will probably be useless - request the block normally std::vector<CInv> vInv(1); |