Browse Source

Disconnect nodes older than protocol version 70002 (Litecoin 0.8.3.7)

Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
0.8
Warren Togami 11 years ago
parent
commit
40805d0918
No known key found for this signature in database
GPG Key ID: B1179EB7347DC10D
  1. 5
      src/main.cpp
  2. 4
      src/net.h
  3. 7
      src/version.h

5
src/main.cpp

@ -3229,10 +3229,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
CAddress addrFrom; CAddress addrFrom;
uint64 nNonce = 1; uint64 nNonce = 1;
vRecv >> pfrom->nVersion >> pfrom->nServices >> nTime >> addrMe; 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, // disconnect from peers older than this proto version
// and earlier versions are no longer supported
printf("partner %s using obsolete version %i; disconnecting\n", pfrom->addr.ToString().c_str(), pfrom->nVersion); printf("partner %s using obsolete version %i; disconnecting\n", pfrom->addr.ToString().c_str(), pfrom->nVersion);
pfrom->fDisconnect = true; pfrom->fDisconnect = true;
return false; return false;

4
src/net.h

@ -222,11 +222,11 @@ public:
CCriticalSection cs_inventory; CCriticalSection cs_inventory;
std::multimap<int64, CInv> mapAskFor; std::multimap<int64, CInv> mapAskFor;
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; nServices = 0;
hSocket = hSocketIn; hSocket = hSocketIn;
nRecvVersion = MIN_PROTO_VERSION; nRecvVersion = INIT_PROTO_VERSION;
nLastSend = 0; nLastSend = 0;
nLastRecv = 0; nLastRecv = 0;
nSendBytes = 0; nSendBytes = 0;

7
src/version.h

@ -27,8 +27,11 @@ extern const std::string CLIENT_DATE;
static const int PROTOCOL_VERSION = 70002; static const int PROTOCOL_VERSION = 70002;
// earlier versions not supported as of Feb 2012, and are disconnected // intial proto version, to be increased after version/verack negotiation
static const int MIN_PROTO_VERSION = 209; static const int INIT_PROTO_VERSION = 209;
// disconnect from peers older than this proto version
static const int MIN_PEER_PROTO_VERSION = 70002;
// 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

Loading…
Cancel
Save