Skip to content

Commit 9b2e24a

Browse files
author
limxdev
committed
Add spork command for disconnecting old versions. Increase Protoversion
1 parent e68d81a commit 9b2e24a

3 files changed

Lines changed: 31 additions & 3 deletions

File tree

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ AC_PREREQ([2.60])
33
define(_CLIENT_VERSION_MAJOR, 0)
44
define(_CLIENT_VERSION_MINOR, 9)
55
define(_CLIENT_VERSION_REVISION, 8)
6-
define(_CLIENT_VERSION_BUILD, 5)
6+
define(_CLIENT_VERSION_BUILD, 6)
77
define(_CLIENT_VERSION_IS_RELEASE, true)
88
define(_COPYRIGHT_YEAR, 2020)
99
define(_COPYRIGHT_HOLDERS,[The %s developers])

src/net_processing.cpp

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1932,7 +1932,35 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
19321932
pfrom->fDisconnect = true;
19331933
return false;
19341934
}
1935-
1935+
1936+
// BTX BEGIN
1937+
// It must not be possible that the client separates from its own PROTO_VERSION!
1938+
if ((nVersion < sporkManager.GetSporkValue(SPORK_BTX_18_MIN_PEER_PROTO_VERSION))&& (sporkManager.GetSporkValue(SPORK_BTX_18_MIN_PEER_PROTO_VERSION) < PROTOCOL_VERSION))
1939+
{
1940+
// disconnect from peers older than this proto version
1941+
LogPrint(BCLog::NET, "SPORK_BTX_18_MIN_PEER_PROTO_VERSION peer=%d using obsolete version %i; disconnecting\n", pfrom->GetId(), nVersion);
1942+
if (enable_bip61) {
1943+
connman->PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_OBSOLETE,
1944+
strprintf("SPORK_BTX_18_MIN_PEER_PROTO_VERSION Version must be %d or greater", MIN_PEER_PROTO_VERSION)));
1945+
// FXTC BEGIN
1946+
// obsolete peers are very annoying
1947+
connman->Ban(pfrom->addr, BanReasonNodeMisbehaving);
1948+
// FXTC END
1949+
}
1950+
pfrom->fDisconnect = true;
1951+
return false;
1952+
}
1953+
/*
1954+
else
1955+
{
1956+
LogPrint(BCLog::NET,"SPORK_BTX_18_MIN_PEER_PROTO_VERSION Disable!\n");
1957+
}
1958+
LogPrint(BCLog::NET, "SPORK_BTX_18_MIN_PEER_PROTO_VERSION = %d\n", sporkManager.GetSporkValue(SPORK_BTX_18_MIN_PEER_PROTO_VERSION));
1959+
1960+
if (sporkManager.GetSporkValue(SPORK_BTX_18_MIN_PEER_PROTO_VERSION) < PROTOCOL_VERSION)
1961+
LogPrint(BCLog::NET, "SPORK_BTX_18_MIN_PEER_PROTO_VERSION < PROTOCOL_VERSION n");
1962+
*/
1963+
// BTX END
19361964
if (nVersion == 10300)
19371965
nVersion = 300;
19381966
if (!vRecv.empty())

src/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* network protocol versioning
1313
*/
1414

15-
static const int PROTOCOL_VERSION = 80001;
15+
static const int PROTOCOL_VERSION = 80002;
1616

1717
//! initial proto version, to be increased after version/verack negotiation
1818
static const int INIT_PROTO_VERSION = 209;

0 commit comments

Comments
 (0)