aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarren Togami <wtogami@gmail.com>2013-10-25 23:21:21 -1000
committerWarren Togami <wtogami@gmail.com>2013-10-25 23:46:37 -1000
commit1ce418929a17c063a0a2e3b176b82d280ef053a6 (patch)
tree50370fb2ae945912b23814c6c1bc0e6a3ca9e4bb
parent0d09b3e8b0218169ab7ad2aa787c43ea11bc7060 (diff)
Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
INIT_PROTO_VERSION is the initial version, after a succesful version/verack it is increased to a negotiated version. MIN_PEER_PROTO_VERSION could be a different value to disconnect from peers older than a specified version.
-rw-r--r--src/main.cpp5
-rw-r--r--src/net.h4
-rw-r--r--src/version.h7
3 files changed, 9 insertions, 7 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 01a1babc7f..0c775b6779 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3377,10 +3377,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
CAddress addrFrom;
uint64 nNonce = 1;
vRecv >> pfrom->nVersion >> pfrom->nServices >> nTime >> addrMe;
- if (pfrom->nVersion < MIN_PROTO_VERSION)
+ if (pfrom->nVersion < MIN_PEER_PROTO_VERSION)
{
- // Since February 20, 2012, the protocol is initiated at version 209,
- // and earlier versions are no longer supported
+ // disconnect from peers older than this proto version
LogPrintf("partner %s using obsolete version %i; disconnecting\n", pfrom->addr.ToString().c_str(), pfrom->nVersion);
pfrom->fDisconnect = true;
return false;
diff --git a/src/net.h b/src/net.h
index a1dc19df34..ffa8681641 100644
--- a/src/net.h
+++ b/src/net.h
@@ -243,11 +243,11 @@ public:
int64 nPingUsecTime;
bool fPingQueued;
- CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, MIN_PROTO_VERSION)
+ CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, INIT_PROTO_VERSION)
{
nServices = 0;
hSocket = hSocketIn;
- nRecvVersion = MIN_PROTO_VERSION;
+ nRecvVersion = INIT_PROTO_VERSION;
nLastSend = 0;
nLastRecv = 0;
nSendBytes = 0;
diff --git a/src/version.h b/src/version.h
index f1e7c4cd7b..f5fa9f213e 100644
--- a/src/version.h
+++ b/src/version.h
@@ -27,8 +27,11 @@ extern const std::string CLIENT_DATE;
static const int PROTOCOL_VERSION = 70001;
-// earlier versions not supported as of Feb 2012, and are disconnected
-static const int MIN_PROTO_VERSION = 209;
+// intial proto version, to be increased after version/verack negotiation
+static const int INIT_PROTO_VERSION = 209;
+
+// disconnect from peers older than this proto version
+static const int MIN_PEER_PROTO_VERSION = 209;
// nTime field added to CAddress, starting with this version;
// if possible, avoid requesting addresses nodes older than this