aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-12-14Return txid even if ATMP fails for new transactionPieter Wuille
Github-Pull: #9302 Rebased-From: b3a74100b86423c553ac327f3ea6fdbc2c50890a
2016-12-14Make RelayWalletTransaction attempt to AcceptToMemoryPool.Gregory Maxwell
This resolves an issue where a wallet transaction which failed to relay previously because it couldn't make it into the mempool will not try again until restart, even though mempool conditions may have changed. Abandoned and known-conflicted transactions are skipped. Some concern was expressed that there may be users with many unknown conflicts would waste a lot of CPU time trying to add them to their memory pools over and over again. But I am doubtful these users exist in any number, if they do exist they have worse problems, and they can mitigate any performance issue this might have by abandoning the transactions in question. Github-Pull: #9290 Rebased-From: f692fce8a49e05e25f1c767aae1e50db419caebe
2016-12-14Update for OpenSSL 1.1 APIGregory Maxwell
Github-Pull: #9326 Rebased-From: bae1eef752dcecfd85fa482881e1dbe4d7e9f74c b05b1af10b9a5298bd90bea439f0fd6c636e0cfa
2016-12-14[Wallet] Bugfix: FRT: don't terminate when keypool is emptyJonas Schnelli
Github-Pull: #9295 Rebased-From: c24a4f5981d47d55aa9e4eb40294832a4d38fb80
2016-12-14Merge #9264: 0.13.2 backportsWladimir J. van der Laan
f26dab7 Adapt ZMQ/rest serialization to take rpcserialversion arg (instagibbs) 21ccb9f Add option to return non-segwit serialization via rpc (Gregory Sanders) a710a43 Improvement of documentation of command line parameter 'whitelist' (wodry) 58eab24 [qa] rpc-tests: Apply random offset to portseed (MarcoFalke) ecd7db5 [qa] test_framework: Exit when tmpdir exists (MarcoFalke) 387ec9d Add script tests for FindAndDelete in pre-segwit and segwit scripts (Johnson Lau) 87fbced Change all instance of 'GMT epoch' to 'Unix epoch' (matthias) b1e978c instance of 'mem pool' to 'mempool' (S. Matthew English) ff55a2d Update gitian signing key of jl2012 (Johnson Lau) 28d0f22 Fix calculation of number of bound sockets to use (Matt Corallo) 396c405 Include select.h when WIN32 is not defined (Ivo van der Sangen) eebc699 bench: Fix subtle counting issue when rescaling iteration count (Wladimir J. van der Laan) 0c09d9f Send tip change notification from invalidateblock (Russell Yanofsky) 6f7841c qt: Avoid OpenSSL certstore-related memory leak (Wladimir J. van der Laan) e5ad693 qt: Avoid shutdownwindow-related memory leak (Wladimir J. van der Laan) e4bea4f qt: Avoid splash-screen related memory leak (Wladimir J. van der Laan) c12f4e9 qt: Prevent thread/memory leak on exiting RPCConsole (Wladimir J. van der Laan) dc46b10 qt: Plug many memory leaks (Wladimir J. van der Laan) ff423cc [Qt] Clean up and fix coincontrol tree widget handling (Wladimir J. van der Laan) 6d70a73 [Qt] fix coincontrol sort issue (Jonas Schnelli) 3fffbf7 Doxygen: Set PROJECT_NAME = "Bitcoin Core" (MarcoFalke) f82c81b fix getnettotals RPC description about timemillis. (Masahiko Hyuga) 6fe3981 net: don't send feefilter messages before the version handshake is complete (Cory Fields) 5f3a12c qt: Use correct conversion function for boost::path datadir (Wladimir J. van der Laan) 08d1c90 Missed one "return false" in recent refactoring in #9067 (UdjinM6) f27596a Every main()/exit() should return/use one of EXIT_ codes instead of magic numbers (UdjinM6) f85ee01 Fix exit codes: - `--help`, `--version` etc should exit with `0` i.e. no error ("not enough args" case should still trigger an error) - error reading config file should exit with `1` (UdjinM6) 5bcb05d [rpc] ParseHash: Fail when length is not 64 (MarcoFalke) 973ca1e Fix doxygen comment: the transaction is returned in txOut (Pavel Janík) 6f86b53 [Qt] make warnings label selectable (Jonas Schnelli) 106da69 Sync bitcoin-tx with tx version policy (BtcDrak) 12428b4 add software-properties-common (Steven) 40169dc Set minimum required Boost to 1.47.0 (fanquake) c134d92 [build-aux] Boost_Base serial 27 (fanquake) 4a974b2 Simple Update to File 'bitcoin-qt.desktop' (matthias) 975ab12 Update INSTALL landing redirection notice for build instructions. (randy-waterhouse) 3a3bcbf Use RelevantServices instead of node_network in AttemptToEvict. (Gregory Maxwell) ca1fd75 Make orphan parent fetching ask for witnesses. (Gregory Maxwell) b96a8f7 [qa] Test getblocktemplate default_witness_commitment (Suhas Daftuar) 99477c7 Always add default_witness_commitment with GBT client support (Pieter Wuille) da5a16b Always drop the least preferred HB peer when adding a new one. (Gregory Maxwell) 094848b log block size and weight correctly. (jnewbery) d1b4da9 build: fix qt5.7 build under macOS (Cory Fields)
2016-12-06IsInitialBlockDownload no longer uses header-only timestamps.Gregory Maxwell
This avoids a corner case (mostly visible on testnet) where bogus headers can keep nodes in IsInitialBlockDownload. Github-Pull: #9053 Rebased-From: e141beb6a9816b7e1e680fb0a8bae16d42a3e557
2016-12-06Remove GetTotalBlocksEstimate and checkpoint tests that test nothing.Gregory Maxwell
GetTotalBlocksEstimate is no longer used and it was the only thing the checkpoint tests were testing. Since checkpoints are on their way out it makes more sense to remove the test file than to cook up a new pointless test. Github-Pull: #9053 Rebased-From: 2082b5574cec783f4ff99941492d92e05680b293
2016-12-06IBD check uses minimumchain work instead of checkpoints.Gregory Maxwell
This introduces a 'minimum chain work' chainparam which is intended to be the known amount of work in the chain for the network at the time of software release. If you don't have this much work, you're not yet caught up. This is used instead of the count of blocks test from checkpoints. This criteria is trivial to keep updated as there is no element of subjectivity, trust, or position dependence to it. It is also a more reliable metric of sync status than a block count. Github-Pull: #9053 Rebased-From: fd46136dfaf68a7046cf7b8693824d73ac6b1caf
2016-12-06Remove duplicate nBlocksEstimate cmp (we already checked IsIBD())Matt Corallo
Github-Pull: #8865 Rebased-From: 0278fb5f48ae9e42ec0772f85e201051077f633c
2016-12-05Adapt ZMQ/rest serialization to take rpcserialversion arginstagibbs
Github-Pull: #9194 Rebased-From: ad5c4c93cae53a2a6f74880ca11b4d788677a378
2016-12-05Add option to return non-segwit serialization via rpcGregory Sanders
Github-Pull: #9194 Rebased-From: 835c75acaac004c3315395dcd7d1f193dfb9e5da
2016-12-03Improvement of documentation of command line parameter 'whitelist'wodry
Github-Pull: #9251 Rebased-From: 8a70a9da3da0df5c376042b18b87f0a63e88d2e3
2016-12-02Disable fee estimates for a confirm target of 1 blockAlex Morcos
Backport of #9239 without GUI changes and fixing conflicts in tests.
2016-12-02Add script tests for FindAndDelete in pre-segwit and segwit scriptsJohnson Lau
Github-Pull: #8927 Rebased-From: acf853df910339412bafb1743f42af1774f5b910
2016-12-02Change all instance of 'GMT epoch' to 'Unix epoch'matthias
Github-Pull: #9041 Rebased-From: 7f61b49de82989dc692e7750860eb1ec4044db7a
2016-12-02instance of 'mem pool' to 'mempool'S. Matthew English
there was only one instance of 'mem pool' and not 'mempool', so I changed it to conform to the others Github-Pull: #9029 Rebased-From: 1c3ecc70c8cd6c33cf3ff4e2099c8e7d8a8ca9d2
2016-12-02Fix calculation of number of bound sockets to useMatt Corallo
Github-Pull: #9253 Rebased-From: 9e1f46821d5bb69e2cbf25738eefa7c6cb99c838
2016-12-02Include select.h when WIN32 is not definedIvo van der Sangen
Github-Pull: #9224 Rebased-From: 498a1d75e75649b02caeca7b1bc9bbc19e51a566
2016-12-02bench: Fix subtle counting issue when rescaling iteration countWladimir J. van der Laan
Make sure that the count is a zero modulo the new mask before scaling, otherwise the next time until a measure triggers will take only 1/2 as long as accounted for. This caused the 'min time' to be potentially off by as much as 100%. Github-Pull: #9200 Rebased-From: e0a9cb25b0af87723d50cb8d8cffa10f1ebf7dcc
2016-12-02Send tip change notification from invalidateblockRussell Yanofsky
This change is needed to prevent sync_blocks timeouts in the mempool_reorg test after the sync_blocks update in the upcoming commit "[qa] Change sync_blocks to pick smarter maxheight". This change was initially suggested by Suhas Daftuar <sdaftuar@chaincode.com> in https://github.com/bitcoin/bitcoin/pull/8680#r78209060 Github-Pull: #9196 Rebased-From: 67c6326abd1788e6f411feb4f44b69774e76aae2
2016-12-02qt: Avoid OpenSSL certstore-related memory leakWladimir J. van der Laan
- Correctly manage the X509 and X509_STORE objects lifetime. Github-Pull: #9190 Rebased-From: ed998ea7a0ecf294211b06e9ef82f1548a621a1d
2016-12-02qt: Avoid shutdownwindow-related memory leakWladimir J. van der Laan
Store a reference to the shutdown window on BitcoinApplication, so that it will be deleted when exiting the main loop. Github-Pull: #9190 Rebased-From: 5204598f8d07d7432d91e9b8781806d2f3d16415
2016-12-02qt: Avoid splash-screen related memory leakWladimir J. van der Laan
Make splash screen queue its own deletion when it receives the finished command, instead of relying on WA_DeleteOnClose which doesn't work under these circumstances. Github-Pull: #9190 Rebased-From: e4f126a7ba66e7317718c30276dff6db92dc1986
2016-12-02qt: Prevent thread/memory leak on exiting RPCConsoleWladimir J. van der Laan
Make ownership of the QThread object clear, so that the RPCConsole can wait for the executor thread to quit before shutdown is called. This increases overall thread safety, and prevents some objects from leaking on exit. Github-Pull: #9190 Rebased-From: 693384eedb1ac7f449e226edd53e2cb52a86e279
2016-12-02qt: Plug many memory leaksWladimir J. van der Laan
None of these are very serious, and are leaks in objects that are created at most one time. In most cases this means properly using the QObject parent hierarchy, except for BanTablePriv/PeerTablePriv which are not QObject, so use a std::unique_ptr instead. Github-Pull: #9190 Rebased-From: 47db07537746940ee7dd0739a8c73e328837813f
2016-12-02[Qt] Clean up and fix coincontrol tree widget handlingWladimir J. van der Laan
- Do sorting for date, amount and confirmations column as longlong, not unsigned longlong. - Use `UserRole` to store our own data. This makes it treated as ancillary data prevents it from being displayed. - Get rid of `getMappedColumn` `strPad` - these are no longer necessary. - Get rid of hidden `_INT64` columns. - Start enumeration from 0 (otherwise values are undefined). Github-Pull: #9185 Rebased-From: 4231032bfcb9728f0f629b3d67884ba9de63e4ff
2016-12-02[Qt] fix coincontrol sort issueJonas Schnelli
Github-Pull: #9185 Rebased-From: 76af4eb876814a916dd4f26cf71faa20bdc54f2d
2016-12-02fix getnettotals RPC description about timemillis.Masahiko Hyuga
Github-Pull: #9122 Rebased-From: a79f864945d7abe05e777a942864c181311e5070
2016-12-02net: don't send feefilter messages before the version handshake is completeCory Fields
Github-Pull: #9117 Rebased-From: 46625538d674a5aaf1bcfa7c8be8a49e5a23fa9e
2016-12-02qt: Use correct conversion function for boost::path datadirWladimir J. van der Laan
Fixes #9089. Github-Pull: #9094 Rebased-From: e760b307f6210bee293796d606bcca87f86be200
2016-12-02Missed one "return false" in recent refactoring in #9067UdjinM6
Github-Pull: #9120 Rebased-From: 45d372f88900bda74835a20a44246746c2ac94e6
2016-12-02Every main()/exit() should return/use one of EXIT_ codes instead of magic ↵UdjinM6
numbers Github-Pull: #9067 Rebased-From: 4441018d0860fce64ee74fa78da79bbb21114ca9
2016-12-02Fix exit codes:UdjinM6
- `--help`, `--version` etc should exit with `0` i.e. no error ("not enough args" case should still trigger an error) - error reading config file should exit with `1` Slightly refactor AppInitRPC/AppInitRawTx to return standard exit codes (EXIT_FAILURE/EXIT_SUCCESS) or CONTINUE_EXECUTION (-1) Github-Pull: #9067 Rebased-From: bd0de1386e1c7f9b875d52290de0d561c8d56bc9
2016-12-02[rpc] ParseHash: Fail when length is not 64MarcoFalke
Github-Pull: #9042 Rebased-From: fa326193ad739d1f93da456b3fa73af0bbf9fdd1
2016-12-02Fix doxygen comment: the transaction is returned in txOutPavel Janík
Github-Pull: #8993 Rebased-From: 1d8e12ba48154b2c59213e92efb50958d430a007
2016-12-02[Qt] make warnings label selectableJonas Schnelli
Github-Pull: #8972 Rebased-From: ef0c9ee2960fda58b2fe5b0c3b4c672231b30322
2016-12-02Sync bitcoin-tx with tx version policyBtcDrak
Github-Pull: #8932 Rebased-From: b0aea8057921f0ed2288cf07048f652c7d6d9cf3
2016-12-02Use RelevantServices instead of node_network in AttemptToEvict.Gregory Maxwell
Use of node_network here is really meant to be a proxy of "likely to send us blocks in the future". RelevantServices is the right criteria now. Github-Pull: #9052 Rebased-From: d32036a47d9ccdc38628a7a75bb8b711af462e4f
2016-12-02Make orphan parent fetching ask for witnesses.Gregory Maxwell
In 0.13 orphan transactions began being treated as implicit INVs for their parents. But the resulting getdata were not getting the witness flag. This fixes issue #9182 reported by chjj and roasbeef on IRC. Github-Pull: #9188 Rebased-From: 5b0150a060208faf436c09b0ca9463407a869c72
2016-12-02Always add default_witness_commitment with GBT client supportPieter Wuille
Github-Pull: #9189 Rebased-From: ad04d1cb35b9612d36078c62213bdbb13f56d73d
2016-12-02Always drop the least preferred HB peer when adding a new one.Gregory Maxwell
When a BIP152 HB-mode peer is in the least preferred position and disconnects, they will not be by ForNode on the next loop. They will continue to sit in that position and prevent deactivating HB mode for peers that are still connected. There is no reason for them to stay in the list if already gone, so drop the first element unconditionally if there are too many. Fixes issue #9163. Github-Pull: #9199 Rebased-From: ca8549d2bd32f17f8b69d1edbe3f2976fba504b4
2016-12-02log block size and weight correctly.jnewbery
Github-Pull: #8838 Rebased-From: 5f274a1749acfdf331bc2931e25ac80c346e5faa
2016-12-02Merge #9191: [qa] 0.13.2 BackportsWladimir J. van der Laan
e846166 Modify getblocktxn handler not to drop requests for old blocks (Russell Yanofsky) 2cad5db Align constant names for maximum compact block / blocktxn depth (Pieter Wuille) 3d23a0e Add cmpctblock to debug help list (instagibbs) 76ba1c9 More agressively filter compact block requests (Matt Corallo) 36e3b95 Dont remove a "preferred" cmpctblock peer if they provide a block (Matt Corallo) 286e548 [qa] Fix stale data bug in test_compactblocks_not_at_tip (Russell Yanofsky) 2ba5d78 [qa] Fix bug in compactblocks v2 merge (Russell Yanofsky) eca9b46 [qa] Wait for specific block announcement in p2p-compactblocks (Russell Yanofsky) dccdc3a test: Fix use-after-free in scheduler tests (Wladimir J. van der Laan) da4926b [qa] Add more helpful RPC timeout message (Russell Yanofsky) 1d4c884 [qa] Increase wallet-dump RPC timeout (Russell Yanofsky) 3107280 [qa] add assert_raises_message to check specific error message (mrbandrews)
2016-12-02Revert "Use async name resolving to improve net thread responsiveness"Matt Corallo
This reverts commit caf6150e9785da408f1e603ae70eae25b5202d98. getaddrinfo_a has a nasty tendency to segfault internally in its background thread, on every version of glibc I tested, especially under helgrind. See https://sourceware.org/bugzilla/show_bug.cgi?id=20874 Github-Pull: #9229 Rebased-From: 10ae7a7b2316f8052ec58ef237ce6dd987300900
2016-11-30torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan
When generating a new service key, explicitly request a RSA1024 one. The bitcoin P2P protocol has no support for the longer hidden service names that will come with ed25519 keys, until it does, we depend on the old hidden service type so make this explicit. See #9214. Rebased-From: 7d3b627395582ae7c9d54ebdbc68096d7042162b Github-Pull: #9234
2016-11-20Modify getblocktxn handler not to drop requests for old blocksRussell Yanofsky
The current getblocktxn implementation drops and ignores requests for old blocks, which causes occasional sync_block timeouts during the p2p-compactblocks.py test as reported in https://github.com/bitcoin/bitcoin/issues/8842. The p2p-compactblocks.py test setup creates many new blocks in a short period of time, which can lead to getblocktxn requests for blocks below the hardcoded depth limit of 10 blocks. This commit changes the getblocktxn handler not to ignore these requests, so the peer nodes in the test setup will reliably be able to sync. The protocol change is documented in BIP-152 update "Allow block responses to getblocktxn requests" at https://github.com/bitcoin/bips/pull/469. The protocol change is not expected to affect nodes running outside the test environment, because there shouldn't normally be lots of new blocks being rapidly added that need to be synced. Github-Pull: #9058 Rebased-From: dac53b58b555183ccc0d5e64c428528267cd98b3 Github-Pull: #9160 Rebased-From: ec34648766c4052816e4072cc61ad429430bcfd9
2016-11-20Align constant names for maximum compact block / blocktxn depthPieter Wuille
Github-Pull: #8637 Rebased-From: 3ac6de0a045cc9b2047ceb19af970e7ffbf905fa
2016-11-20Add cmpctblock to debug help listinstagibbs
Github-Pull: #8637 Rebased-From: b2e93a343ec2dc7d255b970e6ee45e9c390f7ed0
2016-11-20More agressively filter compact block requestsMatt Corallo
Unit test adaptations by Pieter Wuille. Github-Pull: #8637 Rebased-From: fe998e962dc015978f104b782afb7daec3c4d4df
2016-11-20Dont remove a "preferred" cmpctblock peer if they provide a blockMatt Corallo
Github-Pull: #8637 Rebased-From: 02a337defdd854efc78ecba6d1fb19cb1c075f16