--- a/trb 96390862f77248384ec2b55fb116390e11ba7c6a2b7fd82fc783940419f0be95ec27907aad20fcd7c7cdb0819ed067c6f557ec608908efe74088e138253374f6 +++ b/trb 8f651b1981a5a45802b027a4f765b37a91de6674699e451b596d50c15b952ed4bb564e639de012eacd56326e44f94f6ccfd54a85d1d12ba06ad6fad2c8711a1b @@ -4548,7 +4548,7 @@ #endif ############################################################################## -19053 @ ./bitcoin/src/net.h +19069 @ ./bitcoin/src/net.h ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -4912,7 +4912,7 @@ CAddress addrMe = (fUseProxy || !addrLocalHost.IsRoutable() ? CAddress("0.0.0.0") : addrLocalHost); RAND_bytes((unsigned char*)&nLocalHostNonce, sizeof(nLocalHostNonce)); PushMessage("version", VERSION, nLocalServices, nTime, addrYou, addrMe, - nLocalHostNonce, std::string(pszSubVer), nBestHeight); + nLocalHostNonce, FormatSubVersion(CLIENT_NAME, VERSION), nBestHeight); } @@ -6825,6 +6825,17 @@ #include "noui.h" ############################################################################## +150 @ ./bitcoin/src/knobs.h +############################################################################## +#ifndef KNOBS_H +#define KNOBS_H + +#define DEFAULT_CLIENT_NAME "therealbitcoin.org" +#define DEFAULT_CLIENT_VERSION 99999 /* 50400 */ + +#endif + +############################################################################## 4132 @ ./bitcoin/src/protocol.h ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto @@ -9482,7 +9493,7 @@ #endif ############################################################################## -97786 @ ./bitcoin/src/main.cpp +97825 @ ./bitcoin/src/main.cpp ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -9503,6 +9514,8 @@ // Global state // +int VERSION = DEFAULT_CLIENT_VERSION; + CCriticalSection cs_setpwalletRegistered; set setpwalletRegistered; @@ -19489,7 +19502,7 @@ } ############################################################################## -17651 @ ./bitcoin/src/util.h +17758 @ ./bitcoin/src/util.h ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -19614,6 +19627,7 @@ extern std::string strMiscWarning; extern bool fNoListen; extern bool fLogTimestamps; +extern std::string CLIENT_NAME; void RandAddSeed(); void RandAddSeedPerfmon(); @@ -19654,6 +19668,7 @@ int64 GetAdjustedTime(); void AddTimeData(unsigned int ip, int64 nTime); std::string FormatFullVersion(); +std::string FormatSubVersion(const std::string& name, int nClientVersion); @@ -20150,7 +20165,7 @@ #endif ############################################################################## -4073 @ ./bitcoin/src/makefile.unix +4087 @ ./bitcoin/src/makefile.unix ############################################################################## # Copyright (c) 2009-2010 Satoshi Nakamoto # Distributed under the MIT/X11 software license, see the accompanying @@ -20235,6 +20250,7 @@ init.h \ key.h \ keystore.h \ + knobs.h \ main.h \ net.h \ noui.h \ @@ -20361,7 +20377,7 @@ } ############################################################################## -15568 @ ./bitcoin/src/init.cpp +15916 @ ./bitcoin/src/init.cpp ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -20540,6 +20556,8 @@ " -debug \t\t " + _("Output extra debugging information\n") + " -caneat \t\t " + _("Permit the use of 'eatblock'\n") + " -verifyall \t\t " + _("Forbid the skipping of ECDSA signature verification between checkpoints.\n") + + " -setverstring \t\t " + _("Set a custom version string.\n") + + " -setvernum \t\t " + _("Set a custom version number.\n") + " -logtimestamps \t " + _("Prepend debug output with timestamp\n") + " -printtoconsole \t " + _("Send trace/debug info to console instead of debug.log file\n") + " -rpcuser= \t " + _("Username for JSON-RPC connections\n") + @@ -20564,6 +20582,16 @@ fCanEat = GetBoolArg("-caneat"); fVerifyAll = GetBoolArg("-verifyall"); + if (mapArgs.count("-setverstring")) + { + CLIENT_NAME = mapArgs["-setverstring"]; + } + + if (mapArgs.count("-setvernum")) + { + VERSION = atoi(mapArgs["-setvernum"]); + } + if (fDaemon) fServer = true; else @@ -20937,7 +20965,7 @@ #endif ############################################################################## -45968 @ ./bitcoin/src/serialize.h +45898 @ ./bitcoin/src/serialize.h ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -20965,6 +20993,9 @@ #include #include + +#include "knobs.h" + /* This comes from limits.h if it's not defined there set a sane default */ #ifndef PAGESIZE #include @@ -20982,9 +21013,7 @@ class CAutoFile; static const unsigned int MAX_SIZE = 0x02000000; -static const int VERSION = 50400; -static const char* pszSubVer = ""; -static const bool VERSION_IS_BETA = true; +extern int VERSION; // Used to bypass the rule against non-const reference to temporary // where it makes sense with wrappers such as CFlatData or CTxDB @@ -23349,12 +23378,13 @@ #endif ############################################################################## -27626 @ ./bitcoin/src/util.cpp +27815 @ ./bitcoin/src/util.cpp ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers // Distributed under the MIT/X11 software license, see the accompanying // file license.txt or http://www.opensource.org/licenses/mit-license.php. +#include "knobs.h" #include "headers.h" #include "strlcpy.h" #include @@ -23385,7 +23415,7 @@ bool fNoListen = false; bool fLogTimestamps = false; - +std::string CLIENT_NAME(DEFAULT_CLIENT_NAME); // Workaround for "multiple definition of `_tls_used'" @@ -24242,14 +24272,18 @@ string FormatFullVersion() { - string s = FormatVersion(VERSION) + pszSubVer; - if (VERSION_IS_BETA) { - s += "-"; - s += _("beta"); - } + string s = FormatVersion(VERSION); return s; } +std::string FormatSubVersion(const std::string& name, int nClientVersion) +{ + std::ostringstream ss; + ss << "/"; + ss << name << ":" << FormatVersion(nClientVersion); + ss << "/"; + return ss.str(); +}