aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-09-04Merge pull request #5677Wladimir J. van der Laan
d528025 Revert "rpc-tests: re-enable rpc-tests for Windows" (Wladimir J. van der Laan) 1e700c9 doc: update deps in build-unix.md after libevent (Wladimir J. van der Laan) 26c9b83 Move windows socket init to utility function (Wladimir J. van der Laan) 4be0b08 libevent: Windows reuseaddr workaround in depends (Cory Fields) 3a174cd Fix race condition between starting HTTP server thread and setting EventBase() (Wladimir J. van der Laan) 6d2bc22 Document options for new HTTP/RPC server in --help (Wladimir J. van der Laan) be33f3f Implement RPCTimerHandler for Qt RPC console (Wladimir J. van der Laan) 57d85d9 doc: mention SSL support dropped for RPC in release notes (Wladimir J. van der Laan) 40b556d evhttpd implementation (Wladimir J. van der Laan) ee2a42b tests: GET requests cannot have request body, use POST in rest.py (Wladimir J. van der Laan) 6e996d3 tests: fix qt payment test (Cory Fields) 3140ef9 build: build-system changes for libevent (Wladimir J. van der Laan) a9af234 libevent: add depends (Cory Fields) 6a21dd5 Remove rpc_boostasiotocnetaddr test (Wladimir J. van der Laan) 8f9301c qa: Remove -rpckeepalive tests from httpbasics (Wladimir J. van der Laan) 51fcfc0 doc: remove documentation for rpcssl (Wladimir J. van der Laan)
2015-09-04Merge pull request #6631Wladimir J. van der Laan
e83df07 Update RPC generate help for numblocks to include required (Ian T)
2015-09-03Merge pull request #6630Wladimir J. van der Laan
86270c8 Replace boost::reverse_lock with our own. (Casey Rodarmor)
2015-09-03Replace boost::reverse_lock with our own.Casey Rodarmor
2015-09-03Update RPC generate help for numblocks to include requiredIan T
The `generate` RPC has no default `numblocks` and a numeric value is required.
2015-09-03Merge pull request #6374Wladimir J. van der Laan
027de94 Use network group instead of CNetAddr in final pass to select node to disconnect (Patrick Strateman) 000c18a Fix comment (Patrick Strateman) fed3094 Acquire cs_vNodes before changing refrence counts (Patrick Strateman) 69ee1aa CNodeRef copy constructor and assignment operator (Patrick Strateman) dc81dd0 Return false early if vEvictionCandidates is empty (Patrick Strateman) 17f3533 Better support for nodes with non-standard nMaxConnections (Patrick Strateman) 1317cd1 RAII wrapper for CNode* (Patrick Strateman) df23937 Add comments to AttemptToEvictConnection (Patrick Strateman) a8f6e45 Remove redundant whiteconnections option (Patrick Strateman) b105ba3 Prefer to disconnect peers in favor of whitelisted peers (Patrick Strateman) 2c70153 AttemptToEvictConnection (Patrick Strateman) 4bac601 Record nMinPingUsecTime (Patrick Strateman) ae037b7 Refactor: Move failure conditions to the top of AcceptConnection (Patrick Strateman) 1ef4817 Refactor: Bail early in AcceptConnection (Patrick Strateman) 541a1dd Refactor: AcceptConnection (Patrick Strateman)
2015-09-03Move windows socket init to utility functionWladimir J. van der Laan
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-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: 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-02Remove rpc_boostasiotocnetaddr testWladimir J. van der Laan
Dropping all use of boost::asio.
2015-08-31Merge pull request #6583Wladimir J. van der Laan
9f3e48e add support for miniupnpc api version 14 (Pavel Vasin)
2015-08-30Use network group instead of CNetAddr in final pass to select node to disconnectPatrick Strateman
2015-08-29Make sure LogPrint strings are line-terminatedJ Ross Nicoll
2015-08-26Merge pull request #6530Wladimir J. van der Laan
c33c11e Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)
2015-08-26Improve addrman Select() performance when buckets are nearly emptyPieter Wuille
2015-08-25Fix commentPatrick Strateman
2015-08-25Acquire cs_vNodes before changing refrence countsPatrick Strateman
2015-08-25CNodeRef copy constructor and assignment operatorPatrick Strateman
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-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-22Return false early if vEvictionCandidates is emptyPatrick Strateman
2015-08-22Better support for nodes with non-standard nMaxConnectionsPatrick Strateman
2015-08-22RAII wrapper for CNode*Patrick Strateman
2015-08-22Add comments to AttemptToEvictConnectionPatrick Strateman
2015-08-22Remove redundant whiteconnections optionPatrick Strateman
2015-08-22Prefer to disconnect peers in favor of whitelisted peersPatrick Strateman
2015-08-22AttemptToEvictConnectionPatrick Strateman
2015-08-22Record nMinPingUsecTimePatrick Strateman
2015-08-22Refactor: Move failure conditions to the top of AcceptConnectionPatrick Strateman
2015-08-22Refactor: Bail early in AcceptConnectionPatrick Strateman
2015-08-22Refactor: AcceptConnectionPatrick Strateman
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-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.