diff --git a/src/main.cpp b/src/main.cpp index a8425b695884f..c22a6a796536e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4589,6 +4589,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, pfrom->PushMessage(NetMsgType::SENDHEADERS); } + // Temporary hack to make old segnet nodes not fail (needed because we switched to a service bit instead) + if (pfrom->nVersion >= WITNESS_VERSION) { + pfrom->PushMessage("havewitness"); + } } @@ -4664,6 +4668,13 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, State(pfrom->GetId())->fPreferHeaders = true; } + // Temporary hack to make old segnet nodes not fail (needed because we switched to a service bit instead) + else if (strCommand == "havewitness") + { + LOCK(cs_main); + State(pfrom->GetId())->fHaveWitness = true; + } + else if (strCommand == NetMsgType::INV) { vector vInv;