aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-05-28qt: Pre-rc1 transifex pullWladimir J. van der Laan
Tree-SHA512: 91372301f876e3813ebac68d466941ba488b8c74f7525ea9686945d50c2b2e29290c84722c96eebed40a246eca343981feaf2f51b836ba2b3923e4ddc15aef30
2018-05-28Merge #13319: [0.16.1] gui: Backport bech32 checkboxWladimir J. van der Laan
dcb13a0ab687b23465a046e35ca75a432427b833 qt: Update translations pre-rc1 (MarcoFalke) 0eda98d01b6fef1309cdaf8365b752fed39d39a5 GUI: Allow generating Bech32 addresses with a legacy-address default (Luke Dashjr) ea487f9f905b5971e686458b4687157c001b1119 GUI: Rephrase Bech32 checkbox text/tooltip (Luke Dashjr) Pull request description: Tree-SHA512: 1298fa92579bcbdc80537a3a5b2f8aae460c7ebcb46fbade4305d45c883e1717587e24711792b5f65fd25b7a5999d7b9c82e63f5b4d18240f9ec4a0041efdb9a
2018-05-24qt: Update translations pre-rc1MarcoFalke
2018-05-24GUI: Allow generating Bech32 addresses with a legacy-address defaultLuke Dashjr
Github-Pull: #13251 Rebased-From: 82dda6bed971c5638962442b4927845fe5eb6600
2018-05-24GUI: Rephrase Bech32 checkbox text/tooltipLuke Dashjr
- "Bech32" isn't very user-friendly - You don't spend from addresses Github-Pull: #13251 Rebased-From: 7ab1c6f6a736fc7762b8dd513d8634754319d227
2018-05-24Policy to reject extremely small transactionsJohnson Lau
A transaction with 1 segwit input and 1 P2WPHK output has non-witness size of 82 bytes. Anything smaller than this have unnecessary malloc overhead and are not relayed/mined. Github-Pull: #11423 Rebased-From: 7485488e907e236133a016ba7064c89bf9ab6da3
2018-05-24Add transaction tests for constant scriptCodeJohnson Lau
Tests showing that CONST_SCRIPTCODE is applied only to non-segwit transactions Github-Pull: #11423 Rebased-From: 0f8719bb035187076eeac025e2c786feb0f452d7
2018-05-24Add constant scriptCode policy in non-segwit scriptsJohnson Lau
This disables OP_CODESEPARATOR in non-segwit scripts (even in an unexecuted branch), and makes a positive FindAndDelete result invalid. This ensures that the scriptCode serialized in SignatureHash() is always the same as the script passing to the EvalScript. Github-Pull: #11423 Rebased-From: 9dabfe49c066301ef75bcfcb089fd308366127c4
2018-05-24Add unit tests for signals generated by ProcessNewBlock()Jesse Cohen
After a recent bug discovered in callback ordering in MainSignals, this test checks invariants in ordering of BlockConnected / BlockDisconnected / UpdatedChainTip signals Github-Pull: #13023 Rebased-From: dd435ad40267f5c50ff17533c696f9302829a6a6
2018-05-24Fix concurrency-related bugs in ActivateBestChainJesse Cohen
If multiple threads are invoking ActivateBestChain, it was possible to have them working towards different tips, and we could arrive at a less work tip than we should. Fix this by introducing a ChainState lock which must be held for the entire duration of ActivateBestChain to enforce exclusion in ABC. Github-Pull: #13023 Rebased-From: a3ae8e68739023e5dba9e5cb190e707ed4603316
2018-05-24Do not unlock cs_main in ABC unless we've actually made progress.Matt Corallo
Technically, some internal datastructures may be in an inconsistent state if we do this, though there are no known bugs there. Still, for future safety, its much better to only unlock cs_main if we've made progress (not just tried a reorg which may make progress). Github-Pull: #13023 Rebased-From: ecc3c4a019e6db30e208b8554b1a3658dcb9a80a
2018-05-24Bugfix: ensure consistency of m_failed_blocks after reconsiderblockSuhas Daftuar
Github-Pull: #13199 Rebased-From: 11fa6bb66e8c1562305d034903a0dc6aee6eea20
2018-05-24Merge #13253: [0.16] Further BackportsWladimir J. van der Laan
acdf4338221e35d5ec7b299bb18ccd953e28c985 Hold cs_main while calling UpdatedBlockTip() and ui.NotifyBlockTip (Jesse Cohen) 5ff571e90c9fa71e189863e9cb21d15d5991f7da [wallet] [tests] Test disallowed multiwallet params (John Newbery) 4c14e7b67cd411b501e4a77385389da0afc9dd16 [wallet] Fix zapwallettxes/multiwallet interaction. (John Newbery) 4087dd08e7df5beedc335f4518b64eeab6a382c1 RPC Docs: gettxout*: clarify bestblock and unspent counts (David A. Harding) b8aacd660eb9460b6a86d4402d886f0bb32af2b4 [qa] Handle disconnect_node race (Suhas Daftuar) Pull request description: Backports: - #13201 [qa] Handle disconnect_node race - #13184 RPC Docs: gettxout*: clarify bestblock and unspent counts - #13030 [bugfix] [wallet] Fix zapwallettxes/multiwallet interaction. - #12988 Hold cs_main while calling UpdatedBlockTip() signal to the 0.16 branch. Tree-SHA512: 8f65002bbafaf9c436f89051b2d79bf6a668fbd07bd317c64af238ed4a7c8efe776864b739a7f2869f1e3daa16f2f4366a85f41b188f9c454879d2c7b309be50
2018-05-18wallet: Exit SyncMetaData if there are no transactions to syncWladimir J. van der Laan
Instead of crash with an assertion error, simply exit the function `SyncMetaData` if there is no metadata to sync. Fixes #13110. Github-Pull: #13265 Rebased-From: b0d2ca9fb66d793e3c0f2e6ede811f1b16c33a9f Tree-SHA512: 67e446e9ced901e37003a9661b6abea268e2ea648ac3b076d91c8d996de96bed389839a09d579a6562d930bcf501a091eb67454f474aae1174108a8650502072
2018-05-18Hold cs_main while calling UpdatedBlockTip() and ui.NotifyBlockTipJesse Cohen
Ensures that callbacks are invoked in the order in which the chain is updated Resolves #12978 GitHub-Pull: #12988 Rebased-From: d86edd3
2018-05-17[wallet] Fix zapwallettxes/multiwallet interaction.John Newbery
-zapwallettxes should be disallowed when starting bitcoin in multiwallet mode. GitHub-Pull: #13030 Rebased-From: 3476e3c
2018-05-17RPC Docs: gettxout*: clarify bestblock and unspent countsDavid A. Harding
GitHub-Pull: #13184 Rebased-From: f30e9be
2018-05-01Remove blockmaxsize option from init.cppfanquake
2018-04-26Default to defining endian-conversion DECLs in compat w/o configMatt Corallo
While this isn't a supported build configuration, some build systems need to build without going through our autotools steps, so defaulting to something sane may make it easier to build. Specifically, this fixes the inability to build rust-bitcoinconsensus on some non-x86 platforms. It needs to build without our autotools/configure steps to ensure correct compile args are passed from the rust build system to gcc. Converting the args from the rust build system to gcc would be a lot of unmaintainable work. GitHub-Pull: #12998 Rebased-From: 150b2f0
2018-04-26qt:Show the entire Window when double clicking on taskbarChun Kuan Lee
GitHub-Pull: #12999 Rebased-From: 67bf2aa
2018-04-26[config] Remove blockmaxsize optionJohn Newbery
The blockmaxsize option was marked as deprecated in V0.15.1, and code was added to convert provided blockmaxsize into blockmaxweight. However, this code was incorrectly implemented, and blockmaxsize was silently ignored. No users have complained about blockmaxsize being ignored, so just remove it in V0.17. GitHub-Pull: #12756 Rebased-From: 4757c04
2018-04-26Fix illegal default `addProxy` and `addrSeparateProxyTor` settings.251
GitHub-Pull: #12650 Rebased-From: 40c5886
2018-04-26Limit the number of IPs we use from each DNS seedere0
A risk exists where a malicious DNS seeder eclipses a node by returning an enormous number of IP addresses. In this commit we mitigate this risk by limiting the number of IP addresses addrman learns to 256 per DNS seeder. GitHub-Pull: #12626 Rebased-From: 46e7f80
2018-03-07fix version typoTamas Blummer
GitHub-Pull: #12556 Rebased-From: d16bfaa
2018-03-01Merge #12518: [0.16] Bump leveldb subtreeWladimir J. van der Laan
835a21b Squashed 'src/leveldb/' changes from c521b3ac65..64052c76c5 (MarcoFalke) Pull request description: The leveldb bump is the same branch/commit as in #12451 Tree-SHA512: 585a55747c75e990c9fd73399e98e548c01bef8b960c0a99844326de43663d004d2211b4689518f2d3e51cc48a732e9c92082939c356793143db411224fa75fa
2018-02-27qt: Remove faulty and unnecessary en_US translationWladimir J. van der Laan
This faulty translation contained Chinese messages, and as en_US is our source language, having a separate translation for it is pointless, remove it. Tree-SHA512: 8493876926355890aa3b713851ed53d37ffe601280f7e0f45461abfe9671af10dc5c6ce966adb89b663486a46df43b0a36b797da7e1cd719597a7e15914bd4a2
2018-02-27test: Add missing signal.h headerWladimir J. van der Laan
util_tests.cpp needs to include the signal.h header on FreeBSD. Reported by denis2342 on IRC. Github-Pull: #12447 Rebased-From: dd7e42cbb4390788705031ffa0bc893d26f0597e Tree-SHA512: 10ead029bb59f5d69e37b5679c710f22d64051de26e1ec8342eec4e4dec4d76249e16dff78d192972bcb8d139d99c7555a7cb2fe43b2b911103eab6d6f943b79
2018-02-16Bump leveldb subtreeMarcoFalke
2018-02-15qt: Pre-rc4 translations updateWladimir J. van der Laan
Tree-SHA512: b209b5d404395c8031d92f332885f3ec8f8d040090b0afe55a8b915192c040494c387060cc8da4dd25bdb06d2633f8d42adae27a83933704cccf31d26ad0717c
2018-02-15Make signrawtransaction accept P2SH-P2WSH redeemscriptsPieter Wuille
Github-Pull: #12427 Rebased-From: 5f605e172baee35421eb20736601befdd8cad796 Tree-SHA512: caf8c4e1806757d705493de30eea4f6a146a334ca6f6c93bc74cda43abda391b8406dd8ed6765fcde8eb86b3fb55689547ab69a30f34fca0d7896ea8c4e1db67
2018-02-15fix possible shutdown assertion with -reindex-shutdownCory Fields
Credit @eklitzke for reproducing. Github-Pull: #12349 Rebased-From: ceaefdd5f362537a1908d0095059e4be788f3dee Tree-SHA512: bdc614d3c3fba23147be9528c581e25bbf1f0c359b525b4a05472ab42484724a8b34c8b3ed151f3ff23e48235e972950f9daa155d9ca3c4a9de6d61bf0591b4b
2018-02-15test: Add unit test for LockDirectoryWladimir J. van der Laan
Add a unit test for LockDirectory, introduced in #11281. Github-Pull: #12422 Rebased-From: 1d4cbd26e4220982f7f2f60e447199d6f62ae254 Tree-SHA512: 8186f4b22c65153e30ec1e0b68be20fd59d34e1fe565d99f3b5a302780125953b867fb14c37144de3fd7baf5751df94bf3901eebbb7b820491ca452706d4e205
2018-02-15util: Fix multiple use of LockDirectoryWladimir J. van der Laan
This commit fixes problems with calling LockDirectory multiple times on the same directory, or from multiple threads. It also fixes the build on OpenBSD. - Wrap the boost::interprocess::file_lock in a std::unique_ptr inside the map that keeps track of per-directory locks. This fixes a build issue with the clang 4.0.0+boost-1.58.0p8 version combo on OpenBSD 6.2, and should have no observable effect otherwise. - Protect the locks map using a mutex. - Make sure that only locks that are successfully acquired are inserted in the map. - Open the lock file for appending only if we know we don't have the lock yet - The `FILE* file = fsbridge::fopen(pathLockFile, "a");` wipes the 'we own this lock' administration, likely because it opens a new fd for the locked file then closes it. Github-Pull: #12422 Rebased-From: fc888bfcacb875c45bc8f9d7ca1357ab70a30490 Tree-SHA512: c8b8942fad9ea9d9e55f8e5e360f7cf3a8b00cd17e6bc5ec5895e1e6ddcbca796e62e82856e82f0562869a624d75ad510e108077461bb47a87b2b52be0aba866
2018-02-15Interrupt loading thread after shutdown requestJoão Barbosa
Github-Pull: #12415 Rebased-From: 2e9406c0c588ddf6f039fd3ff73c978177483869 Tree-SHA512: ad70df9fdcba38bc9eeac4e4e64f7d8607fbe92aefac3579a26939e642112d70ebee81c5a227bb8735bae87f95640061a5ab22b583275c7dd6c3277544bc427b
2018-02-14Fix rescan test failure due to unset g_address_type, g_change_typeRussell Yanofsky
New global variables were introduced in #11403 and not setting them causes: test_bitcoin: wallet/wallet.cpp:4259: CTxDestination GetDestinationForKey(const CPubKey&, OutputType): Assertion `false' failed. unknown location(0): fatal error in "importwallet_rescan": signal: SIGABRT (application abort requested) It's possible to reproduce the failure reliably by running: src/test/test_bitcoin --log_level=test_suite --run_test=wallet_tests/importwallet_rescan Failures happen nondeterministically because boost test framework doesn't run tests in a specified order, and tests that run previously can set the global variables and mask the bug. Github-Pull: #12424 Rebased-From: b7f6002ed5d12b461eb56b768d06f2468cd0c12e Tree-SHA512: 1cc64db3b1d886d793e9d194b318dde3d5f628bde778a50513de4bf54dcfc77152885e72608927e3e490d253350ca0381847539a904cb31862f3a6fceac88dc1
2018-02-12Fix ignoring tx data requests when fPauseSend is set on a peerMatt Corallo
This resolves a bug introduced in 66aa1d58a158991a8014a91335b5bc9c00062f56 where, if when responding to a series of transaction requests in a getdata we hit the send buffer limit and set fPauseSend, we will skip one transaction per call to ProcessGetData. Bug found by Cory Fields (@theuni). Github-Pull: #12392 Rebased-From: c4af7387634765d254d1432746385cf35917d367 Tree-SHA512: d2f7707eb9f925a655f66e5e77ce406c5266f7b2feccd5bcdabf6d5bc27a3f6578e753fac83d9c8c3fd7cf7de6fee086eee2f95f77af99ea2c4e5ae77c322c58
2018-02-12Reset pblocktree before deleting LevelDB fileSjors Provoost
Github-Pull: #12401 Rebased-From: a8b5d20f4f171828b2bd70ab2405c42b1e452e5b Tree-SHA512: 3a87b6113283c3588f46bb5c725ec33ac639e2f91c589b5c0eb4375e3d23bd6c18e7ba96faf70be2afea86d8e6252bf4dbcf9c9ed166ce2d49846ff947a36d2e
2018-02-08qt: Pre-rc3 translations updateWladimir J. van der Laan
Tree-SHA512: e91c44f19b4a6b18736e664e9f446f3e6b457a1b239999ed0171965cfb2af2702b0083340a789d26c293ebf71e52d4a87af0e44d4e6a83a920bbf98c1c3dffa9
2018-02-08Bech32 addresses in dumpwalletfivepiece
Output bech32 addresses in dumpwallet if address type is not as legacy Github-Pull: #12315 Rebased-From: 45eea40aa88f047111a9b1151fe4d1bad5c560e2 Tree-SHA512: 3426292ddaeaafebc25fe84802011f5569a0cbb47fcc3209e7f00f64fc6eb1e637732722bbd02dce8d46be87d0f3687ce8370e71e9286bf7d00afc0a895faecb
2018-02-08Add braces to meet code style on line-after-the-one-changed.Matt Corallo
Github-Pull: #12368 Rebased-From: 02fc8863630a20e75230f8bc3ba1051c480ae560 Tree-SHA512: 8e159541f5270801fd3c70540ad3c55e93f0ba37039e651d21f65ba9b271bbbb2f1389b13a0f40fea337e88bb1711f498bb3ee1230ec2c40b6530846ff241a8b
2018-02-08Hold mempool.cs for the duration of ATMP.Matt Corallo
This resolves an issue where getrawmempool() can race mempool notification signals. Intuitively we use mempool.cs as a "read lock" on the mempool with cs_main being the write lock, so holding the read lock intermittently while doing write operations is somewhat strange. This also avoids the introduction of cs_main in getrawmempool() which reviewers objected to in the previous fix in #12273 Github-Pull: #12368 Rebased-From: 85aa8398f5d13c659299b81cdae377462b4f8316 Tree-SHA512: 90a505a96cecc065e8575d816f3bb35040df8672efc315f45eb3f2ea086e8ea6ee2c99eed03d0fe2215c8d3ee947a7b120e3c57a25185d03550c9075573ab032
2018-02-08http: Remove numThreads and ThreadCounterWladimir J. van der Laan
The HTTP worker thread counter, as well as the RAII object that was used to maintain it, is unused now, so can be removed. Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com> Github-Pull: #12366 Rebased-From: 11e01515fe0fbc7823d4111ad6e016a02c485a78 Tree-SHA512: 87055c4c14986973f4c1604db264fb5a9de21bb481e9d39b201774e2d17ed92a7d1617449471c13f56e0f1f09a8aebdf1254a71d6c7b856c880a5b71e0c3ba9d
2018-02-08http: Remove WaitExit from WorkQueueWladimir J. van der Laan
This function, which waits for all threads to exit, is no longer needed now that threads are joined instead. Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com> Github-Pull: #12366 Rebased-From: f94665466ed50e868c98b1a1c708ad5767727bb6 Tree-SHA512: 5cda90b4c081424d637031c0bbf168f177667733ff20b6f77eac84e503f7fad6fab3eb897f191edd819f18b270e3ecea78974978abd102d323f42d9d06216e53
2018-02-08http: Join worker threads before deleting work queueWladimir J. van der Laan
This prevents a potential race condition if control flow ends up in `ShutdownHTTPServer` before the thread gets to `queue->Run()`, deleting the work queue while workers are still going to use it. Meant to fix #12362. Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com> Github-Pull: #12366 Rebased-From: b1c2370dde9ade180c638e5d9a4797f085322b5b Tree-SHA512: 7fbe8e562ba0e1138f95deb42e84cda734bef0d7058349728b3e1602b9f65777c5b1be0f6bd5a7e513ac38487dc82e62fd0a6ee4ed985cbf36c90a7eec18eced
2018-02-08qt: Clarify some commentsWladimir J. van der Laan
Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com> Github-Pull: #12374 Rebased-From: 1e5d14b3f7db814505279d346f0b819443753e66 Tree-SHA512: 367be993e298cb822618c2c64f83163c65d93ca588f183584d032fa1391ddac292e7a2882118037913d192ba77e1b2d5ab518ad029e0b05230be45da2d0c047c
2018-02-08qt: Make sure splash screen is freed on AppInitMain failWladimir J. van der Laan
The `splashFinished` event was never sent if AppInitMain fails, causing the splash screen to stick around, causing problems later. This bug has existed for a while but is now trigging potential crashed because the splash screen subscribes to wallet events. Meant to fix #12372. Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com> Github-Pull: #12374 Rebased-From: f5a4c3ddf48db2119b2b1a438b9462a6236565cd Tree-SHA512: 1c59633f0caec6344dce7f7d69d2e98242601fa906b1845c372a59c8ba015c3ac76389dd5d4e60b2fdb52d2878d566a0325679470075a680418cade7204069ef
2018-02-08qt: Poll ShutdownTimer after init is doneMarcoFalke
Github-Pull: #12377 Rebased-From: 2222bf02c94a10387c318b295982719eb07b8d06 Tree-SHA512: 575c10d9f043e2843616b989daaecfb357482445bc44b9f3af2fe0d891bb36b5ccb572f326703ea85291d56b9f6e8f4828496099b05889daea2277ad38aa0d0e
2018-02-08Fix fast-shutdown crash if genesis block was not loadedMatt Corallo
If the ShutdownRequested() check at the top of ActivateBestChain() returns false during initial genesis block load we will fail an assertion in UTXO DB flush as the best block hash IsNull(). To work around this, we move the check until after one round of ActivateBestChainStep(), ensuring the genesis block gets connected. Github-Pull: #12367 Rebased-From: dd2de47c6288654abb2c3eef29edcd1cc5f39fc9 Tree-SHA512: c2465be25aee327d16d460c9b58d25a5aeedec309f539898e78419bea76dbbe9cde9cc88ec393af38a82e6013d71cce85f4223c9bf04e7244ed619f20f734aa4
2018-02-08Fix fast-shutdown hang on ThreadImport+GenesisWaitMatt Corallo
If the user somehow manages to get into ShutdownRequested before ThreadImport gets to ActivateBestChain() we may hang waiting on condvar_GenesisWait forever. A simple wait_for and ShutdownRequested resolves this case. Github-Pull: #12367 Rebased-From: 1c9394ad477d0c1ca0ab1caa6024a7e70c125d15 Tree-SHA512: fb0751ef32d2005520738bf3b0a0f41ae3f9314d700d2a85eb50f023e87e109ce806cdcdf4a08f49a4d9c1001e27df7f461d3fd52b1f5a57885260ce9375260f
2018-02-02qt: Pre-rc2 translations updatev0.16.0rc2Wladimir J. van der Laan
Tree-SHA512: 09551113babe41bcc33e58c4467a17405f411ef4bc4cceeab937d35d115f946d3105d0540960456785843d59571410bf58dd9b5262d085b8a13a4d367b0e1c3b