aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-01-14Add a -rpckeepalive and disable RPC use of HTTP persistent connections.Gregory Maxwell
It turns out that some miners have been staying with old versions of Bitcoin Core because their software behaves poorly with persistent connections and the Bitcoin Core thread and connection limits. What happens is that underlying HTTP libraries leave connections open invisibly to their users and then the user runs into the default four thread limit. This looks like Bitcoin Core is unresponsive to RPC. There are many things that should be improved in Bitcoin Core's behavior here, e.g. supporting more concurrent connections, not tying up threads for idle connections, disconnecting kept-alive connections when limits are reached, etc. All are fairly big, risky changes. Disabling keep-alive is a simple workaround. It's often not easy to turn off the keep-alive support in the client where it may be buried in some platform library. If you are one of the few who really needs persistent connections you probably know that you want them and can find a switch; while if you don't and the misbehavior is hitting you it is hard to discover the source of your problems is keepalive related. Given that it is best to default to off until they're handled better.
2015-01-14Merge pull request #5489Wladimir J. van der Laan
905711f contrib: improve optimize-pngs.py (Wladimir J. van der Laan) 42f6a0c [Qt] optimize PNG files (Jonas Schnelli)
2015-01-14[Qt] optimize PNG filesJonas Schnelli
- provide a python script - add optimized png files
2015-01-14Merge pull request #5637Wladimir J. van der Laan
80dd50c [Qt] group variables below initial if-clauses in AmountSpinBox::stepEnabled (Philip Kaufmann) 0fd9e2b [Qt] don't allow amount changes when AmountSpinBox is read-only (Philip Kaufmann)
2015-01-14[Qt] add payment request unit test for non matching networksPhilip Kaufmann
- verify that payment request network matches client network - add static verifyNetwork() function to PaymentServer to be able to use the same validation code in GUI and unit-testing code
2015-01-13[Qt] prepare paymentservertests for new unit testsPhilip Kaufmann
- add a second PaymentRequest Test CA certificate to paymentrequestdata.h (serial number f0:da:97:e4:38:d7:64:16) as caCert2_BASE64 - rename existing Test CA certificate to caCert1_BASE64 - rename existing payment request data to know they belong to caCert1_BASE64 - update comments to reflect the changes and add a missing comment to one of the payment requests
2015-01-13[Qt] group variables below initial if-clauses in AmountSpinBox::stepEnabledPhilip Kaufmann
2015-01-13Merge pull request #5144Wladimir J. van der Laan
b468e81 Qt: Clarify sign/verify dialog text to specifically state that these messages only prove one receives with the address in question, and makes no claim to sender of transactions (Luke Dashjr)
2015-01-12Merge pull request #5619Wladimir J. van der Laan
13cdce4 Catch UTXO set read errors and shutdown (Pieter Wuille)
2015-01-12Merge pull request #5608Wladimir J. van der Laan
9161303 Introduce 10 minute block download timeout (Pieter Wuille)
2015-01-12Improve robustness of DER recoding codeWladimir J. van der Laan
Add some defensive programming on top of #5634. This copies the respective OpenSSL code in ECDSA_verify in OpenSSL pre-1.0.1k (e.g. https://github.com/openssl/openssl/blob/OpenSSL_1_0_1j/crypto/ecdsa/ecs_vrf.c#L89) more closely. As reported by @sergiodemianlerner.
2015-01-10[Qt] don't allow amount changes when AmountSpinBox is read-onlyPhilip Kaufmann
- before it was possible to use the steps to change e.g. amouns of authenticated or unauthenticated payment requests (AmountSpinBox is already set to read-only here) - this is now fixed - also move the reimplemented stepEnabled() function to the protected section of our class, where it belongs (see Qt doc)
2015-01-09fail immediately on an empty signatureCory Fields
2015-01-09consensus: guard against openssl's new strict DER checksCory Fields
New versions of OpenSSL will reject non-canonical DER signatures. However, it'll happily decode them. Decode then re-encode before verification in order to ensure that it is properly consumed.
2015-01-08Catch UTXO set read errors and shutdownPieter Wuille
2015-01-08Fix tests after #5413Wladimir J. van der Laan
Pull #5413 was not rebased after deterministic signing was merged (#5227), so the testcases had to be regenerated using UPDATE_JSON_TESTS.
2015-01-08Merge pull request #5589Wladimir J. van der Laan
23f3435 Rename MAX_TX_SIGOPS to MAX_STANDARD_TX_SIGOPS to match similar policy constant MAX_STANDARD_TX_SIZE (Luke Dashjr)
2015-01-08Merge pull request #5604Wladimir J. van der Laan
d58c5d6 tests: run sanity checks in tests too (Cory Fields)
2015-01-08Merge pull request #5143Wladimir J. van der Laan
da918ac Make SCRIPT_VERIFY_CLEANSTACK a standardness requirement (Pieter Wuille) b6e03cc Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6) (Pieter Wuille) ae4151b No semantic change: reuse stack variable in P2SH evaluation (Pieter Wuille)
2015-01-08Merge pull request #5559Wladimir J. van der Laan
e179eb3 Make the command-line-args dialog better (Thomas Zander)
2015-01-08Merge pull request #5542Wladimir J. van der Laan
2ecd294 Bugfix: configure: Correctly detect "nothing to build" condition (Luke Dashjr) b7a4ecc Bugfix: Only check for boost when building code that requires it (Luke Dashjr) a19eeac Bugfix: configure: Check for openssl/ec.h (Luke Dashjr) fe925e2 Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building unused code (Cory Fields)
2015-01-07Introduce 10 minute block download timeoutPieter Wuille
This will disconnect peers that do not transfer a block in 10 minutes, plus 5 minutes for every previously queued block with validated headers (accomodating downstream bandwidth down to a few kilobytes per second - below that the node would have trouble staying synchronized anyway).
2015-01-07Merge pull request #5521Wladimir J. van der Laan
0ea28ba Reject non-final txs even in testnet/regtest (Peter Todd)
2015-01-07Merge pull request #5611Wladimir J. van der Laan
f0b8afc tests: fix spurious windows test failures after 012598880c (Cory Fields)
2015-01-07Merge pull request #5597Wladimir J. van der Laan
e413457 Catch LevelDB errors during flush (Pieter Wuille) 02bced1 Bugfix: only track UTXO modification after lookup (Pieter Wuille)
2015-01-07Merge pull request #5535Wladimir J. van der Laan
1c52aad Require sufficent priority for relay of free transactions (Pieter Wuille)
2015-01-06tests: fix spurious windows test failures after 012598880cCory Fields
on rare occasions, rand() was returning duped values, causing duplicate transactions. BuildMerkleTree happily used these, but CPartialMerkleTree caught them and returned a null merkle root. Rather than taking changes with rand(), use the loop counter to guarantee unique values. At sipa's request, also remove the remaining uses of rand().
2015-01-06Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building ↵Cory Fields
unused code
2015-01-06Merge pull request #5513Wladimir J. van der Laan
856e862 namespace: drop most boost namespaces and a few header cleanups (Cory Fields) 9b1ab86 namespace: drop boost::assign altogether here (Cory Fields) a324199 namespace: remove boost namespace pollution (Cory Fields)
2015-01-06Merge pull request #5520Wladimir J. van der Laan
bdb6a71 IsNull doesn't change CBlockLocator, add const hint (Pavel Janík) 1b37333 Remove no longer needed declaration of CBlockLocator (Pavel Janík)
2015-01-06Merge pull request #5598Wladimir J. van der Laan
eb0d34b Remove unused chainparam networkID (jtimon)
2015-01-06Merge pull request #5564Wladimir J. van der Laan
de236f5 clarify obscure uses of EvalScript() (Pavel Vasin)
2015-01-06Merge pull request #5532Wladimir J. van der Laan
be22b3d Update seed IPs, based on bitcoin.sipa.be crawler data (Pieter Wuille)
2015-01-05tests: run sanity checks in tests tooCory Fields
If these are going to fail in bitcoind, they should fail in the tests as well.
2015-01-06Move arith_uint256 out of consensus and utilPieter Wuille
2015-01-05Make the command-line-args dialog betterThomas Zander
Instead of using a fixed-width font in a label, which virtually guarentees a horizontal scrollbar, use a proper text-document that can re-layout based on user input.
2015-01-05Update seed IPs, based on bitcoin.sipa.be crawler dataPieter Wuille
2015-01-05arith_uint256: remove initialization from byte vectorWladimir J. van der Laan
Remove initialization from vector (as this is only used in the tests). Also implement SetHex and GetHex in terms of uint256, to avoid duplicate code as well as avoid endianness issues (as they work in term of bytes).
2015-01-05Remove now-unused methods from arith_uint256 and base_uintWladimir J. van der Laan
- Methods that access the guts of arith_uint256 are removed, as these are incompatible between endians. Use uint256 instead - Serialization is no longer needed as arith_uint256's are never read or written - GetHash is never used on arith_uint256
2015-01-05Remove arith_uint160Wladimir J. van der Laan
We never do 160-bit arithmetic.
2015-01-05Add tests for new uint256Wladimir J. van der Laan
2015-01-05Add conversion functions arith_uint256<->uint_256Wladimir J. van der Laan
2015-01-05uint256->arith_uint256 blob256->uint256Wladimir J. van der Laan
Introduce new opaque implementation of `uint256`, move old "arithmetic" implementation to `arith_uint256.
2015-01-05Use arith_uint256 where necessaryWladimir J. van der Laan
Also add conversion from/to uint256 where needed.
2015-01-05String conversions uint256 -> uint256SWladimir J. van der Laan
If uint256() constructor takes a string, uint256(0) will become dangerous when uint256 does not take integers anymore (it will go through std::string(const char*) making a NULL string, and the explicit keyword is no help).
2015-01-05Replace uint256(1) with static constantWladimir J. van der Laan
SignatureHash and its test function SignatureHashOld return uint256(1) as a special error signaling value. Return a local static constant with the same value instead.
2015-01-05Replace GetLow64 with GetCheapHashWladimir J. van der Laan
2015-01-05Replace direct use of 0 with SetNull and IsNullWladimir J. van der Laan
Replace x=0 with .SetNull(), x==0 with IsNull(), x!=0 with !IsNull(). Replace uses of uint256(0) with uint256().
2015-01-05Temporarily add SetNull/IsNull/GetCheapHash to base_uintWladimir J. van der Laan
Also add a stub for arith_uint256 and its conversion functions, for now completely based on uint256. Eases step-by-step migration to blob.
2015-01-05Merge pull request #5594Wladimir J. van der Laan
7eeeac0 Remove dead BitcoinUnits::id code and update assets-attribution for non-image unit selector (Luke Dashjr)