From 2ce73dbe8546b0bfb5e512a6b11e201871374147 Mon Sep 17 00:00:00 2001 From: s_nakamoto Date: Thu, 21 Oct 2010 16:47:16 +0000 Subject: [PATCH 1/2] -- version 0.3.14 release git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@171 1a98c847-1fd6-4fd8-948a-caf3550aa51b --- main.cpp | 2 +- serialize.h | 2 +- setup.nsi | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/main.cpp b/main.cpp index 2d950eefb..764ddaac0 100644 --- a/main.cpp +++ b/main.cpp @@ -2987,7 +2987,7 @@ void BitcoinMiner() txNew.vin.resize(1); txNew.vin[0].prevout.SetNull(); int64 nNow = max(pindexPrev->GetMedianTimePast()+1, GetAdjustedTime()); - if (nNow > nPrevTime+1 && ++nExtraNonce >= 0x7f) + if (++nExtraNonce >= 0x7f && nNow > nPrevTime+1) { nExtraNonce = 1; nPrevTime = nNow; diff --git a/serialize.h b/serialize.h index 0268c750b..3a8d62155 100644 --- a/serialize.h +++ b/serialize.h @@ -22,7 +22,7 @@ class CDataStream; class CAutoFile; static const unsigned int MAX_SIZE = 0x02000000; -static const int VERSION = 31306; +static const int VERSION = 31400; static const char* pszSubVer = ""; diff --git a/setup.nsi b/setup.nsi index 32ea5dd5b..5873b075c 100644 --- a/setup.nsi +++ b/setup.nsi @@ -7,7 +7,7 @@ RequestExecutionLevel highest # General Symbol Definitions !define REGKEY "SOFTWARE\$(^Name)" -!define VERSION 0.3.13 +!define VERSION 0.3.14 !define COMPANY "Bitcoin project" !define URL http://www.bitcoin.org/ @@ -42,12 +42,12 @@ Var StartMenuGroup !insertmacro MUI_LANGUAGE English # Installer attributes -OutFile bitcoin-0.3.13-win32-setup.exe +OutFile bitcoin-0.3.14-win32-setup.exe InstallDir $PROGRAMFILES\Bitcoin CRCCheck on XPStyle on ShowInstDetails show -VIProductVersion 0.3.13.0 +VIProductVersion 0.3.14.0 VIAddVersionKey ProductName Bitcoin VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey CompanyName "${COMPANY}" From c285051c0895b52a87b529f61256e1fda8070926 Mon Sep 17 00:00:00 2001 From: gavinandresen Date: Fri, 22 Oct 2010 15:15:20 +0000 Subject: [PATCH 2/2] testnet and keypoololdest added to RPC getinfo output. And RPC now sends proper HTTP Date headers. git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@172 1a98c847-1fd6-4fd8-948a-caf3550aa51b --- db.cpp | 9 +++++++++ db.h | 1 + headers.h | 1 + rpc.cpp | 25 +++++++++++++++++++------ serialize.h | 2 +- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/db.cpp b/db.cpp index e606e5d79..9657cbf98 100644 --- a/db.cpp +++ b/db.cpp @@ -908,3 +908,12 @@ vector CWalletDB::GetKeyFromKeyPool() KeepKey(nIndex); return keypool.vchPubKey; } + +int64 CWalletDB::GetOldestKeyPoolTime() +{ + int64 nIndex = 0; + CKeyPool keypool; + ReserveKeyFromKeyPool(nIndex, keypool); + ReturnKey(nIndex); + return keypool.nTime; +} diff --git a/db.h b/db.h index 385b898bc..3452dd89f 100644 --- a/db.h +++ b/db.h @@ -432,6 +432,7 @@ protected: friend class CReserveKey; public: vector GetKeyFromKeyPool(); + int64 GetOldestKeyPoolTime(); }; bool LoadWallet(bool& fFirstRunRet); diff --git a/headers.h b/headers.h index a12392d18..6a08cb7fe 100644 --- a/headers.h +++ b/headers.h @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include diff --git a/rpc.cpp b/rpc.cpp index 81d36b378..ac413cf11 100644 --- a/rpc.cpp +++ b/rpc.cpp @@ -261,6 +261,8 @@ Value getinfo(const Array& params, bool fHelp) obj.push_back(Pair("genproclimit", (int)(fLimitProcessors ? nLimitProcessors : -1))); obj.push_back(Pair("difficulty", (double)GetDifficulty())); obj.push_back(Pair("hashespersec", gethashespersec(params, false))); + obj.push_back(Pair("testnet", fTestNet)); + obj.push_back(Pair("keypoololdest", (boost::int64_t)CWalletDB().GetOldestKeyPoolTime())); obj.push_back(Pair("errors", GetWarnings("statusbar"))); return obj; } @@ -767,12 +769,22 @@ string HTTPPost(const string& strMsg, const map& mapRequestHeader return s.str(); } +string rfc1123Time() +{ + char buffer[32]; + time_t now; + time(&now); + struct tm* now_gmt = gmtime(&now); + strftime(buffer, sizeof(buffer), "%a, %d %b %Y %H:%M:%S %Z", now_gmt); + return string(buffer); +} + string HTTPReply(int nStatus, const string& strMsg) { if (nStatus == 401) - return "HTTP/1.0 401 Authorization Required\r\n" - "Server: HTTPd/1.0\r\n" - "Date: Sat, 08 Jul 2006 12:04:08 GMT\r\n" + return strprintf("HTTP/1.0 401 Authorization Required\r\n" + "Date: %s\r\n" + "Server: bitcoin-json-rpc\r\n" "WWW-Authenticate: Basic realm=\"jsonrpc\"\r\n" "Content-Type: text/html\r\n" "Content-Length: 311\r\n" @@ -785,7 +797,7 @@ string HTTPReply(int nStatus, const string& strMsg) "\r\n" "\r\n" "

401 Unauthorized.

\r\n" - "\r\n"; + "\r\n", rfc1123Time().c_str()); string strStatus; if (nStatus == 200) strStatus = "OK"; else if (nStatus == 400) strStatus = "Bad Request"; @@ -793,15 +805,16 @@ string HTTPReply(int nStatus, const string& strMsg) else if (nStatus == 500) strStatus = "Internal Server Error"; return strprintf( "HTTP/1.1 %d %s\r\n" + "Date: %s\r\n" "Connection: close\r\n" "Content-Length: %d\r\n" "Content-Type: application/json\r\n" - "Date: Sat, 08 Jul 2006 12:04:08 GMT\r\n" - "Server: json-rpc/1.0\r\n" + "Server: bitcoin-json-rpc/1.0\r\n" "\r\n" "%s", nStatus, strStatus.c_str(), + rfc1123Time().c_str(), strMsg.size(), strMsg.c_str()); } diff --git a/serialize.h b/serialize.h index 3a8d62155..6b3b3b579 100644 --- a/serialize.h +++ b/serialize.h @@ -22,7 +22,7 @@ class CDataStream; class CAutoFile; static const unsigned int MAX_SIZE = 0x02000000; -static const int VERSION = 31400; +static const int VERSION = 31401; static const char* pszSubVer = "";