mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-26 19:23:26 -03:00
Actually only use filterInventoryKnown with MSG_TX inventory messages.
Previously this logic could erroneously filter a MSG_BLOCK inventory message.
This commit is contained in:
parent
b6a0da45db
commit
d41e44c9ac
1 changed files with 7 additions and 9 deletions
|
@ -5510,7 +5510,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
|
||||||
vInvWait.reserve(pto->vInventoryToSend.size());
|
vInvWait.reserve(pto->vInventoryToSend.size());
|
||||||
BOOST_FOREACH(const CInv& inv, pto->vInventoryToSend)
|
BOOST_FOREACH(const CInv& inv, pto->vInventoryToSend)
|
||||||
{
|
{
|
||||||
if (pto->filterInventoryKnown.contains(inv.hash))
|
if (inv.type == MSG_TX && pto->filterInventoryKnown.contains(inv.hash))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// trickle out tx inv to protect privacy
|
// trickle out tx inv to protect privacy
|
||||||
|
@ -5531,9 +5531,8 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pto->filterInventoryKnown.contains(inv.hash))
|
|
||||||
{
|
|
||||||
pto->filterInventoryKnown.insert(inv.hash);
|
pto->filterInventoryKnown.insert(inv.hash);
|
||||||
|
|
||||||
vInv.push_back(inv);
|
vInv.push_back(inv);
|
||||||
if (vInv.size() >= 1000)
|
if (vInv.size() >= 1000)
|
||||||
{
|
{
|
||||||
|
@ -5541,7 +5540,6 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
|
||||||
vInv.clear();
|
vInv.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
pto->vInventoryToSend = vInvWait;
|
pto->vInventoryToSend = vInvWait;
|
||||||
}
|
}
|
||||||
if (!vInv.empty())
|
if (!vInv.empty())
|
||||||
|
|
Loading…
Add table
Reference in a new issue