diff options
author | Warren Togami <wtogami@gmail.com> | 2013-10-25 23:21:21 -1000 |
---|---|---|
committer | Warren Togami <wtogami@gmail.com> | 2013-10-25 23:46:37 -1000 |
commit | 1ce418929a17c063a0a2e3b176b82d280ef053a6 (patch) | |
tree | 50370fb2ae945912b23814c6c1bc0e6a3ca9e4bb | |
parent | 0d09b3e8b0218169ab7ad2aa787c43ea11bc7060 (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.cpp | 5 | ||||
-rw-r--r-- | src/net.h | 4 | ||||
-rw-r--r-- | src/version.h | 7 |
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; @@ -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 |