Change min protcol version so STAKED chains have their own value, so KMD

can still work.
This commit is contained in:
blackjok3r
2018-09-20 23:15:00 +08:00
parent 3330881171
commit 9e417e48d7
2 changed files with 573 additions and 558 deletions

View File

@@ -5954,14 +5954,28 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
CAddress addrFrom; CAddress addrFrom;
uint64_t nNonce = 1; uint64_t nNonce = 1;
vRecv >> pfrom->nVersion >> pfrom->nServices >> nTime >> addrMe; vRecv >> pfrom->nVersion >> pfrom->nServices >> nTime >> addrMe;
if (pfrom->nVersion < MIN_PEER_PROTO_VERSION) if ( (strncmp(ASSETCHAINS_SYMBOL, "STKD", 4) == 0) || (strncmp(ASSETCHAINS_SYMBOL, "STAKED", 6) == 0) )
{ {
// disconnect from peers older than this proto version if (pfrom->nVersion < STAKEDMIN_PEER_PROTO_VERSION)
LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion); {
pfrom->PushMessage("reject", strCommand, REJECT_OBSOLETE, // disconnect from peers older than this proto version
strprintf("Version must be %d or greater", MIN_PEER_PROTO_VERSION)); LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion);
pfrom->fDisconnect = true; pfrom->PushMessage("reject", strCommand, REJECT_OBSOLETE,
return false; strprintf("Version must be %d or greater", MIN_PEER_PROTO_VERSION));
pfrom->fDisconnect = true;
return false;
}
} else
{
if (pfrom->nVersion < MIN_PEER_PROTO_VERSION)
{
// disconnect from peers older than this proto version
LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion);
pfrom->PushMessage("reject", strCommand, REJECT_OBSOLETE,
strprintf("Version must be %d or greater", MIN_PEER_PROTO_VERSION));
pfrom->fDisconnect = true;
return false;
}
} }
// When Overwinter is active, reject incoming connections from non-Overwinter nodes // When Overwinter is active, reject incoming connections from non-Overwinter nodes

View File

@@ -9,7 +9,7 @@
* network protocol versioning * network protocol versioning
*/ */
static const int PROTOCOL_VERSION = 170003; static const int PROTOCOL_VERSION = 170004;
//! initial proto version, to be increased after version/verack negotiation //! initial proto version, to be increased after version/verack negotiation
static const int INIT_PROTO_VERSION = 209; static const int INIT_PROTO_VERSION = 209;
@@ -19,6 +19,7 @@ static const int GETHEADERS_VERSION = 31800;
//! disconnect from peers older than this proto version //! disconnect from peers older than this proto version
static const int MIN_PEER_PROTO_VERSION = 170002; static const int MIN_PEER_PROTO_VERSION = 170002;
static const int STAKEDMIN_PEER_PROTO_VERSION = 170004;
//! nTime field added to CAddress, starting with this version; //! nTime field added to CAddress, starting with this version;
//! if possible, avoid requesting addresses nodes older than this //! if possible, avoid requesting addresses nodes older than this