aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-07-18univalue: Avoid unnecessary roundtrip through double for numbersWladimir J. van der Laan
JSON makes no distinction between numbers and reals, and our code doesn't need to do so either. This removes VREAL, as well as its specific post-processing in `UniValue::write`. Non-monetary amounts do not need to be forcibly formatted with 8 decimals, so the extra roundtrip was unnecessary (and potentially loses precision).
2015-07-18rpc: Make ValueFromAmount always return 8 decimalsWladimir J. van der Laan
This is the format that was always returned to JSON clients. The difference was not noticed before, because VREAL values are post-processed by univalue. By implementing the functionality directly it breaks the dependency of rpcserver on utilmoneystr. FormatMoney is now only used for debugging purposes. To test, port over the formatting tests from util_tests.cpp to rpc_tests.cpp.
2015-07-15Merge pull request #6438Wladimir J. van der Laan
d4b1d5a openssl: avoid config file load/race (Cory Fields)
2015-07-15qt: update forgotten emit to Q_EMIT in macdockiconhandler.mmWladimir J. van der Laan
Leftover from #6433
2015-07-15qt: define QT_NO_KEYWORDSWladimir J. van der Laan
QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`, `slots` and `emit` macros. Avoid overlap between Qt macros and boost - for example #undef hackiness in #6421.
2015-07-14openssl: avoid config file load/raceCory Fields
2015-07-13rpc: Implement random-cookie based authenticationWladimir J. van der Laan
When no `-rpcpassword` is specified, use a special 'cookie' file for authentication. This file is generated with random content when the daemon starts, and deleted when it exits. Read access to this file controls who can access through RPC. By default this file is stored in the data directory but it be overriden with `-rpccookiefile`. This is similar to Tor CookieAuthentication: see https://www.torproject.org/docs/tor-manual.html.en Alternative to #6258. Like that pull, this allows running bitcoind without any manual configuration. However, daemons should ideally never write to their configuration files, so I prefer this solution.
2015-07-13Merge pull request #6398Wladimir J. van der Laan
85ee55b rpc: Remove chain-specific RequireRPCPassword (Wladimir J. van der Laan)
2015-07-11Merge pull request #6410Wladimir J. van der Laan
5098c47 Implement accurate memory accounting for mempool (Pieter Wuille)
2015-07-10Merge pull request #6370Wladimir J. van der Laan
6ebac07 Remove ChainParams::DefaultMinerThreads (Wladimir J. van der Laan)
2015-07-10Merge pull request #6379Wladimir J. van der Laan
9cc9152 rpc: Accept scientific notation for monetary amounts in JSON (Wladimir J. van der Laan)
2015-07-10Implement accurate memory accounting for mempoolPieter Wuille
2015-07-10rpc: Accept scientific notation for monetary amounts in JSONWladimir J. van der Laan
Add a function `ParseFixedPoint` that parses numbers according to the JSON number specification and returns a 64-bit integer. Then this in `AmountFromValue`, rather than `ParseMoney`. Also add lots of tests (thanks to @jonasschnelli for some of them). Fixes issue #6297.
2015-07-10Merge pull request #5486Wladimir J. van der Laan
c45c7ea [REST] add JSON support for /rest/headers/ (Jonas Schnelli)
2015-07-10Merge pull request #5288Wladimir J. van der Laan
e3cae52 Added -whiteconnections=<n> option (Josh Lehan)
2015-07-10rpc: Remove chain-specific RequireRPCPasswordWladimir J. van der Laan
I've never liked the chain-specific exception to having to set a password. It gives issues with #6388 which makes it valid to set no password in every case (as it enables random cookie authentication). This pull removes the flag, so that all chains are regarded the same. It also removes the username==password test, which doesn't provide any substantial extra security.
2015-07-10Merge pull request #6384Wladimir J. van der Laan
15e26a6 qt: Force TLS1.0+ for SSL connections (Wladimir J. van der Laan)
2015-07-09Merge pull request #6368Wladimir J. van der Laan
cb54d17 CLTV: Add more tests to improve coverage (Esteban Ordano)
2015-07-09Merge pull request #6378Wladimir J. van der Laan
5e058e7 [Qt] constify foreach uses where possible (Philip Kaufmann)
2015-07-08Merge pull request #6387Wladimir J. van der Laan
65ce021 [bitcoin-cli] improve error output (Jonas Schnelli)
2015-07-07tests: Fix bitcoin-tx signing testcaseWladimir J. van der Laan
Fixes wrong scriptPubkey problem, which caused the transaction to not actually be signed.
2015-07-07[bitcoin-cli] improve error outputJonas Schnelli
2015-07-07[Qt] constify foreach uses where possiblePhilip Kaufmann
- this doesn't replace BOOST_FOREACH, it just makes used arguments const where possible
2015-07-06CLTV: Add more tests to improve coverageEsteban Ordano
Four cases included: * The CLTV operand type mismatches the tx locktime. In the script it is 1 (interpreted as block height), but in the tx is 500000000 (interpreted as date) * The stack is empty when executing OP_CLTV * The tx is final by having only one input with MAX_INT sequence number * The operand for CLTV is negative (after OP_0 OP_1 OP_SUB)
2015-07-06qt: Force TLS1.0+ for SSL connectionsWladimir J. van der Laan
2015-07-06Merge pull request #6365Wladimir J. van der Laan
5a7304b Move recently introduced CTransAction::IsEquivalentTo to CWalletTx (Wladimir J. van der Laan)
2015-07-06Merge pull request #6335Wladimir J. van der Laan
9238ecb Policy: MOVEONLY: 3 functions to policy.o: (Luke Dashjr) 627b9de Policy: MOVEONLY: Create policy/policy.h with some constants (Jorge Timón)
2015-07-05[REST] add JSON support for /rest/headers/Jonas Schnelli
2015-07-03Remove ChainParams::DefaultMinerThreadsWladimir J. van der Laan
No longer relevant after #5957. This hack existed because of another hack where the numthreads parameter, on regtest, doubled as how many blocks to generate.
2015-07-03Merge pull request #6329Wladimir J. van der Laan
0c37634 acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for testnet/regtest only (Luke Dashjr)
2015-07-03acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for ↵Luke Dashjr
testnet/regtest only
2015-07-02Move recently introduced CTransAction::IsEquivalentTo to CWalletTxWladimir J. van der Laan
CTransAction::IsEquivalentTo was introduced in #5881. This functionality is only useful to the wallet, and should never have been added to the primitive transaction type.
2015-07-02Adding CSubNet constructor over a single CNetAddrJonas Schnelli
2015-07-02use CBanEntry as object container for banned nodesJonas Schnelli
- added a reason enum for a ban - added creation time for a ban Using CBanEntry as container will keep banlist.dat extenable.
2015-07-02CAddrDB/CBanDB: change filesize variables from int to uint64_tJonas Schnelli
2015-07-02banlist.dat: store banlist on diskJonas Schnelli
2015-07-02Merge pull request #6362Wladimir J. van der Laan
72b9452 When processing RPC commands during warmup phase, parse the request object before returning an error so that id value can be used in the response. (Forrest Voight)
2015-07-02Merge pull request #6361Wladimir J. van der Laan
4716267 Use real number of cores for default -par, ignore virtual cores (Wladimir J. van der Laan)
2015-07-02Merge pull request #5881Wladimir J. van der Laan
5d34e16 Add txn_clone.py test (Tom Harding) defd2d5 Better txn_doublespend.py test (Tom Harding) b2b3619 Implement CTransaction::IsEquivalentTo(...) (Tom Harding)
2015-07-02Merge pull request #6133Wladimir J. van der Laan
e617fe2 Fix various warnings (Luke Dashjr)
2015-07-02Merge pull request #6247Wladimir J. van der Laan
076badb Add getblockheader RPC call (Peter Todd)
2015-07-01When processing RPC commands during warmup phase, parse theForrest Voight
request object before returning an error so that id value can be used in the response. Prior to this commit, RPC commands sent during Bitcoin's warmup/startup phase were responded to with a JSON-RPC error with an id of null, which violated the JSON-RPC 2.0 spec: id: This member is REQUIRED. It MUST be the same as the value of the id member in the Request Object. If there was an error in detecting the id in the Request object (e.g. Parse error/Invalid Request), it MUST be Null.
2015-07-01Merge pull request #6353Wladimir J. van der Laan
5ed1079 Show softfork status in getblockchaininfo (Wladimir J. van der Laan)
2015-07-01Show softfork status in getblockchaininfoWladimir J. van der Laan
2015-07-01Use real number of cores for default -par, ignore virtual coresWladimir J. van der Laan
To determine the default for `-par`, the number of script verification threads, use [boost::thread::physical_concurrency()](http://www.boost.org/doc/libs/1_58_0/doc/html/thread/thread_management.html#thread.thread_management.thread.physical_concurrency) which counts only physical cores, not virtual cores. Virtual cores are roughly a set of cached registers to avoid context switches while threading, they cannot actually perform work, so spawning a verification thread for them could even reduce efficiency and will put undue load on the system. Should fix issue #6358, as well as some other reported system overload issues, especially on Intel processors. The function was only introduced in boost 1.56, so provide a utility function `GetNumCores` to fall back for older Boost versions.
2015-07-01miner: rename UpdateRequestCount signal to ResetRequestCountJonas Schnelli
2015-07-01add CReserveScript to allow modular script keeping/returningJonas Schnelli
- use one CReserveScript per mining thread
2015-06-30fix GetScriptForMining() CReserveKey::keepKey() issueJonas Schnelli
2015-06-30detach wallet from minerJonas Schnelli
2015-06-29Merge pull request #6337Wladimir J. van der Laan
6a4b97e Testing infrastructure: mocktime fixes (Gavin Andresen)