aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-09-04doc: update deps in build-unix.md after libeventWladimir J. van der Laan
Add libevent, change usage of libssl from "secure communication" to "crypto" that's more accurate after RPC SSL support removed.
2015-09-03Move windows socket init to utility functionWladimir J. van der Laan
2015-09-03libevent: Windows reuseaddr workaround in dependsCory Fields
Make it possible to reuse sockets. This is necessary to make the RPC tests work in WINE.
2015-09-03Fix race condition between starting HTTP server thread and setting EventBase()Wladimir J. van der Laan
Split StartHTTPServer into InitHTTPServer and StartHTTPServer to give clients a window to register their handlers without race conditions. Thanks @ajweiss for figuring this out.
2015-09-03Document options for new HTTP/RPC server in --helpWladimir J. van der Laan
2015-09-03Implement RPCTimerHandler for Qt RPC consoleWladimir J. van der Laan
Implement RPCTimerHandler for Qt RPC console, so that `walletpassphrase` works with GUI and `-server=0`. Also simplify HTTPEvent-related code by using boost::function directly.
2015-09-03doc: mention SSL support dropped for RPC in release notesWladimir J. van der Laan
2015-09-03evhttpd implementationWladimir J. van der Laan
- *Replace usage of boost::asio with [libevent2](http://libevent.org/)*. boost::asio is not part of C++11, so unlike other boost there is no forwards-compatibility reason to stick with it. Together with #4738 (convert json_spirit to UniValue), this rids Bitcoin Core of the worst offenders with regard to compile-time slowness. - *Replace spit-and-duct-tape http server with evhttp*. Front-end http handling is handled by libevent, a work queue (with configurable depth and parallelism) is used to handle application requests. - *Wrap HTTP request in C++ class*; this makes the application code mostly HTTP-server-neutral - *Refactor RPC to move all http-specific code to a separate file*. Theoreticaly this can allow building without HTTP server but with another RPC backend, e.g. Qt's debug console (currently not implemented) or future RPC mechanisms people may want to use. - *HTTP dispatch mechanism*; services (e.g., RPC, REST) register which URL paths they want to handle. By using a proven, high-performance asynchronous networking library (also used by Tor) and HTTP server, problems such as #5674, #5655, #344 should be avoided. What works? bitcoind, bitcoin-cli, bitcoin-qt. Unit tests and RPC/REST tests pass. The aim for now is everything but SSL support. Configuration options: - `-rpcthreads`: repurposed as "number of work handler threads". Still defaults to 4. - `-rpcworkqueue`: maximum depth of work queue. When this is reached, new requests will return a 500 Internal Error. - `-rpctimeout`: inactivity time, in seconds, after which to disconnect a client. - `-debug=http`: low-level http activity logging
2015-09-02tests: GET requests cannot have request body, use POST in rest.pyWladimir J. van der Laan
Sending a request body with GET request is not valid in HTTP spec, and not compatible with evhttpd.
2015-09-02tests: fix qt payment testCory Fields
Now that boost no longer automatically initializes openssl, we have to do it ourselves.
2015-09-02build: build-system changes for libeventWladimir J. van der Laan
2015-09-02libevent: add dependsCory Fields
2015-09-02Remove rpc_boostasiotocnetaddr testWladimir J. van der Laan
Dropping all use of boost::asio.
2015-09-02qa: Remove -rpckeepalive tests from httpbasicsWladimir J. van der Laan
This option was a temporary workaround, and is no longer necessary with the new web server.
2015-09-02doc: remove documentation for rpcsslWladimir J. van der Laan
2015-09-02Merge pull request #6620Wladimir J. van der Laan
10e469a travis: bump wine to 1.7 (Cory Fields)
2015-09-02travis: bump wine to 1.7Cory Fields
2015-09-02Merge pull request #6617Wladimir J. van der Laan
bfadae3 travis: for travis generating an extra build (Cory Fields)
2015-09-01travis: for travis generating an extra buildCory Fields
2015-09-01Merge pull request #6548Wladimir J. van der Laan
060058e Enable python tests for Native Windows (ptschip)
2015-08-31Merge pull request #6583Wladimir J. van der Laan
9f3e48e add support for miniupnpc api version 14 (Pavel Vasin)
2015-08-31Merge pull request #6599Wladimir J. van der Laan
9bebf60 Make sure LogPrint strings are line-terminated (J Ross Nicoll)
2015-08-29Make sure LogPrint strings are line-terminatedJ Ross Nicoll
2015-08-26Enable python tests for Native Windowsptschip
1) Multiplatorm support for devnull 2) Fixed a bug in the handling of cache files 3) Deleted run-bitcoin-cli as no longer needed
2015-08-26Merge pull request #6530Wladimir J. van der Laan
c33c11e Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)
2015-08-26Merge pull request #6590Wladimir J. van der Laan
bd30c3d rpc-tests: re-enable rpc-tests for Windows (Cory Fields) a193387 net: Set SO_REUSEADDR for Windows too (Cory Fields)
2015-08-26Improve addrman Select() performance when buckets are nearly emptyPieter Wuille
2015-08-25rpc-tests: re-enable rpc-tests for WindowsCory Fields
2015-08-25net: Set SO_REUSEADDR for Windows tooCory Fields
When running the rpc tests in Wine, nodes often fail to listen on localhost due to a stale socket from a previous run. This aligns the behavior with other platforms.
2015-08-24Merge pull request #6576Wladimir J. van der Laan
e938122 Stop parsing JSON after first finished construct. (Daniel Kraft)
2015-08-24Merge pull request #6523Wladimir J. van der Laan
0ce7398 Add p2p-fullblocktest.py (Casey Rodarmor)
2015-08-23add support for miniupnpc api version 14Pavel Vasin
The value of new arg ttl is set to 2 as it's recommended default.
2015-08-21Add p2p-fullblocktest.pyCasey Rodarmor
2015-08-21Merge pull request #6541Wladimir J. van der Laan
e0862c0 Reformat validateaddress help, add missing iswatchonly description. (Pavel Janík)
2015-08-20Merge pull request #6242Wladimir J. van der Laan
17221bf chainparams: don't use std namespace (Cory Fields) f0deec5 chainparams: move CCheckpointData into chainparams.h (Cory Fields)
2015-08-20Merge pull request #6545Wladimir J. van der Laan
8be371d Do not store more than 200 timedata samples. (Pavel Janík)
2015-08-20Merge pull request #6556Wladimir J. van der Laan
1123cdb add unit test for CNetAddr::GetGroup. (Alex Morcos) bba3db1 Fix masking of irrelevant bits in address groups. (Alex Morcos)
2015-08-20Merge pull request #6571Wladimir J. van der Laan
1d1073c consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation (Cory Fields)
2015-08-20Stop parsing JSON after first finished construct.Daniel Kraft
Fix https://github.com/bitcoin/bitcoin/issues/6558. In particular, stop parsing JSON after the first object or array is finished. Check that no other garbage follows, and fail the parser if it does.
2015-08-19add unit test for CNetAddr::GetGroup.Alex Morcos
2015-08-19consensus: cache the openssl EC_GROUP to avoid a race condition for each ↵Cory Fields
CECKey instantiation
2015-08-19Merge pull request #6544Wladimir J. van der Laan
c5c1edf Fix spelling mistake in -> if. (Mark Friedenbach) e846b2a Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. (Mark Friedenbach)
2015-08-19Merge pull request #6539Wladimir J. van der Laan
9f68ed6 typofixes (found by misspell_fixer) (Veres Lajos)
2015-08-19Merge pull request #6565Wladimir J. van der Laan
fb08d92 Make sure we re-acquire lock if a task throws (Casey Rodarmor)
2015-08-19Merge pull request #6561Wladimir J. van der Laan
7bd57bb Add limitedmap test (Casey Rodarmor) 8b06894 Disallow unlimited limited maps (Casey Rodarmor) fd2d862 Make limited map actually respect max size (Casey Rodarmor)
2015-08-19Merge pull request #6567Wladimir J. van der Laan
2016576 Fix crash when mining with empty keypool. (Daniel Kraft)
2015-08-18Make sure we re-acquire lock if a task throwsCasey Rodarmor
2015-08-18Fix crash when mining with empty keypool.Daniel Kraft
Since the introduction of the ScriptForMining callback, the mining functions (setgenerate and generate) crash with an assertion failure (due to a NULL pointer script returned) if the keypool is empty. Fix this by giving a proper error.
2015-08-17Add limitedmap testCasey Rodarmor
2015-08-17Disallow unlimited limited mapsCasey Rodarmor