Move bloom filter filtering logic outside of command "switch" (giant if/else).

Moving this logic outside of the "switch" makes it far simpler to
enable the forced disconnect by a parameter.
This commit is contained in:
Patick Strateman 2015-11-24 01:47:32 -08:00 committed by Jack Grigg
parent 935f9f713c
commit d06ae252a0
No known key found for this signature in database
GPG Key ID: 665DBCD284F7DAFF
1 changed files with 15 additions and 15 deletions

View File

@ -4721,6 +4721,21 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
}
if (!(nLocalServices & NODE_BLOOM) &&
(strCommand == "filterload" ||
strCommand == "filteradd" ||
strCommand == "filterclear"))
{
if (pfrom->nVersion >= NO_BLOOM_VERSION) {
Misbehaving(pfrom->GetId(), 100);
return false;
}
//TODO: Enable this after reasonable network upgrade
//else {
// pfrom->fDisconnect = true;
// return false;
//}
}
if (strCommand == "version")
@ -5498,21 +5513,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
}
else if (!(nLocalServices & NODE_BLOOM) &&
(strCommand == "filterload" ||
strCommand == "filteradd" ||
strCommand == "filterclear") &&
//TODO: Remove this line after reasonable network upgrade
pfrom->nVersion >= NO_BLOOM_VERSION)
{
if (pfrom->nVersion >= NO_BLOOM_VERSION)
Misbehaving(pfrom->GetId(), 100);
//TODO: Enable this after reasonable network upgrade
//else
// pfrom->fDisconnect = true;
}
else if (strCommand == "filterload")
{
CBloomFilter filter;