Merge pull request #707 from gavinandresen/BIP14
authorGavin Andresen <gavinandresen@gmail.com>
Mon, 19 Dec 2011 15:25:16 +0000 (07:25 -0800)
committerGavin Andresen <gavinandresen@gmail.com>
Mon, 19 Dec 2011 15:25:16 +0000 (07:25 -0800)
Implement BIP 14 : separate protocol version from client version

1  2 
src/net.cpp
src/util.h

diff --combined src/net.cpp
@@@ -727,6 -727,21 +727,21 @@@ void CNode::Cleanup(
  }
  
  
+ void CNode::PushVersion()
+ {
+     /// when NTP implemented, change to just nTime = GetAdjustedTime()
+     int64 nTime = (fInbound ? GetAdjustedTime() : GetTime());
+     CAddress addrYou = (fUseProxy ? CAddress("0.0.0.0") : addr);
+     CAddress addrMe = (fUseProxy ? CAddress("0.0.0.0") : addrLocalHost);
+     RAND_bytes((unsigned char*)&nLocalHostNonce, sizeof(nLocalHostNonce));
+     PushMessage("version", PROTOCOL_VERSION, nLocalServices, nTime, addrYou, addrMe,
+                 nLocalHostNonce, FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, std::vector<string>()), nBestHeight);
+ }
  std::map<unsigned int, int64> CNode::setBanned;
  CCriticalSection CNode::cs_setBanned;
  
@@@ -1225,8 -1240,6 +1240,8 @@@ void MapPort(bool /* unused fMapPort */
  static const char *strDNSSeed[] = {
      "bitseed.xf2.org",
      "dnsseed.bluematt.me",
 +    "seed.bitcoin.sipa.be",
 +    "dnsseed.bitcoin.dashjr.org",
  };
  
  void ThreadDNSAddressSeed(void* parg)
diff --combined src/util.h
@@@ -183,6 -183,7 +183,6 @@@ std::string DecodeBase64(const std::str
  std::string EncodeBase64(const unsigned char* pch, size_t len);
  std::string EncodeBase64(const std::string& str);
  void ParseParameters(int argc, char* argv[]);
 -const char* wxGetTranslation(const char* psz);
  bool WildcardMatch(const char* psz, const char* mask);
  bool WildcardMatch(const std::string& str, const std::string& mask);
  int GetFilesize(FILE* file);
@@@ -204,7 -205,7 +204,7 @@@ void SetMockTime(int64 nMockTimeIn)
  int64 GetAdjustedTime();
  void AddTimeData(unsigned int ip, int64 nTime);
  std::string FormatFullVersion();
+ std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector<std::string>& comments);
  
  
  
@@@ -558,7 -559,7 +558,7 @@@ inline uint256 Hash(const T1 p1begin, c
  }
  
  template<typename T>
- uint256 SerializeHash(const T& obj, int nType=SER_GETHASH, int nVersion=VERSION)
+ uint256 SerializeHash(const T& obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)
  {
      // Most of the time is spent allocating and deallocating CDataStream's
      // buffer.  If this ever needs to be optimized further, make a CStaticStream