aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-09-26rpc: Prevent `dumpwallet` from overwriting filesWladimir J. van der Laan
Prevent arbitrary files from being overwritten. There have been reports that users have overwritten wallet files this way. It may also avoid other security issues. Fixes #9934. Adds mention to release notes and adds a test.
2017-09-21Remove some unused functions and methodsPieter Wuille
In the case of CKey's destructor, it seems to have been an oversight in f4d1fc259 not to delete it. At this point, it results in the move constructors/assignment operators for CKey being deleted, which may have a performance impact.
2017-09-21Merge #11351: Refactor: Modernize disallowed copy constructors/assignmentPieter Wuille
2a07f878a Refactor: Modernize disallowed copy constructors/assignment (Dan Raviv) Pull request description: Use C++11's better capability of expressing an interface of a non-copyable class by publicly deleting its copy ctor and assignment operator instead of just declaring them private. Tree-SHA512: 878f446be5a136bb2a90643aaeaca62948b575e6ef71ccc5b4b8f373e66f36ced00665128f36504e0ccfee639863d969329c4276154ef9f2a9de9137f0801e01
2017-09-21Merge #11116: [script] Unit tests for script/standard and IsMine functions.Wladimir J. van der Laan
7a1e873 [script] Unit tests for IsMine (Jim Posen) d7afe2d [script] Unit tests for script/standard functions (Jim Posen) Pull request description: Simply adding unit test coverage. Tree-SHA512: aaf16b1b07b6d43c884a67f4fd5f83c31bf2c560f78798036d7aa37a3efe71a7ca3c82c4b3ba1f3119bcbe3b78013e64bb0020fe57ebc69aea1cb54943881959
2017-09-21[script] Unit tests for IsMineJim Posen
Does not test watch-only addresses.
2017-09-21[script] Unit tests for script/standard functionsJim Posen
2017-09-20Merge #10888: range-based loops and const qualifications in net.cppPieter Wuille
05cae8aef range-based loops and const qualifications in net.cpp (Marko Bencun) Pull request description: Plus a use of std::copy() instead of manual copying. (The loop on line 117 is already done in #10493). Tree-SHA512: d9839e330c71bb9781a4efa81ee353c9e3fd8a93c2120a309f7a0e516b119dd7abe0f0988546797801258b867a29581978515c05dda9e5b23097e15f705139b4
2017-09-20Merge #11132: Document assumptions that are being made to avoid NULL pointer ↵Wladimir J. van der Laan
dereferences fdc3293 Document assumptions that are being made to avoid NULL pointer dereferences (practicalswift) Pull request description: Document assumptions (via `assert(…)`:s) that are being made avoid `NULL` pointer dereferences. Rationale: * Make it clear to human reviewers and non-human static analyzers that what might look like potential `NULL` pointer dereferences are written the way they are intentionally (these cases are currently flagged by various static analyzers). Tree-SHA512: b424328195e2680e1e4ec546298f718c49e5ad182147dc004de580693db1b50eec4065e1c4f232bdb302baa12954265a50ba21cb5ba4ff30248535b2de778672
2017-09-20Merge #11334: qt: Remove custom fee radio group and remove nCustomFeeRadio ↵Wladimir J. van der Laan
setting e53fa4a Remove custom fee radio group (Andrew Chow) Pull request description: Removes the extraneous custom fee radio group and its single radio button. The radio button is replaced with a label that has the radio button's text. Continuation of #11332 Tree-SHA512: b47b675f900ee4e2f4823203a42bb697f707ba67a8504d730c53d4dae511d0ed03226af34efd7ea45570c6111f8b3b6c39ac28f1b5c090de225903442ad4159a
2017-09-19Merge #11307: wallet: Display non-HD error on first runWladimir J. van der Laan
fadf31e wallet: Display non-HD error on first run (MarcoFalke) Pull request description: On current master a fresh wallet created with `-usehd=0` is silently created as HD wallet. An error should be displayed on the first run. Also, this restores a test that was removed in c22a53c Fixes: #11313 Tree-SHA512: 226a4129984324f88a431c7e2726383f6841711f0227d8e9f5b4f89d4bb9f2b8e922e6cf0a6f91d6efa747d139543a236b9f29326fc5d1e5d6f1dea2465d9b85
2017-09-18Merge #11340: Trivial: Fix validation commentsMarcoFalke
a0b4c2461 Trivial: Fix validation comments (Dan Raviv) Pull request description: - Move comment about transaction/block weight calculation so it applies not only to the GetBlockWeight function but also to GetTransactionWeight - Fix comment in validation.cpp referencing future deployment of BIP113. It has already been deployed. - The doc comment for BLOCK_DOWNLOAD_WINDOW wasn't updated since pruning was introduced, so it still refers to pruning as something that might happen in the future. A larger BLOCK_DOWNLOAD_WINDOW window would now, indeed, make pruning harder. Tree-SHA512: ff86ff02c993e8317b9a0decfe5f5b6aae77b7d50e2b253ed73eb553348142bfc30cfeda15fae91907bab8f920e0ea7c52714f4cc7f33a9d6a777f708e2c99ba
2017-09-16Refactor: Modernize disallowed copy constructors/assignmentDan Raviv
Use C++11's better capability of expressing an interface of a non-copyable class by publicly deleting its copy ctor and assignment operator instead of just declaring them private.
2017-09-16Merge #11196: Switch memory_cleanse implementation to BoringSSL's to ensure ↵Wladimir J. van der Laan
memory clearing even with -lto 1444c2e Switch memory_cleanse implementation to BoringSSL's to ensure memory clearing even with link-time optimization. (Adam Langley) Pull request description: The implementation we currently use from OpenSSL prevents the compiler from optimizing away clensing operations on blocks of memory that are about to be released, but this protection is not extended to link-time optimization. This commit copies the solution cooked up by Google compiler engineers which uses inline assembly directives to instruct the compiler not to optimize out the call under any circumstances. As the code is in-lined, this has the added advantage of removing one more OpenSSL dependency. Regarding license compatibility, Google's contributions to BoringSSL library, including this code, is made available under the ISC license, which is MIT compatible. BoringSSL git commit: ad1907fe73334d6c696c8539646c21b11178f20f Tree-SHA512: 8134998663c1501e3ce48fbbd6ab41de981f0855e3f4d25d2e86ff8056c917d82c751c88e9c39660319ebfbc8283dce594c3e4fc7f87080a212a2cdba57ea511
2017-09-15Remove custom fee radio groupAndrew Chow
Removes the extraneous custom fee radio group and its single radio button. The radio button is replaced with a label that has the radio button's text.
2017-09-15Trivial: Fix validation commentsDan Raviv
- Move comment about transaction/block weight calculation so it applies not only to the GetBlockWeight function but also to GetTransactionWeight - Fix comment in validation.cpp referencing future deployment of BIP113. It has already been deployed. - The doc comment for BLOCK_DOWNLOAD_WINDOW wasn't updated since pruning was introduced, so it still refers to pruning as something that might happen in the future. A larger BLOCK_DOWNLOAD_WINDOW window would now, indeed, make pruning harder.
2017-09-15Merge #11332: Fix possible crash with invalid nCustomFeeRadio in QSettings ↵Wladimir J. van der Laan
(achow101, TheBlueMatt) cdaf3a1 Fix Qt 0.14.2->0.15.0 segfault if "total at least" is selected (Matt Corallo) Pull request description: `QButtonGroup->button()` may return a nullptr. Accessing the object directly with `setChecked` seems fragile. This is a simple fix to ensure to never call a button out of bounds (nullptr). There are probably other places where a sanity check for `QSettings` are required. Found by @achow101. Code by @TheBlueMatt. Tree-SHA512: a1b5d6636382a4e20c4e66ef82de19e6daa8b1b5f21b0f2bc5f51cfb6b37797045c7e29ebead8088ee2b990ed12c549c217cae6aad7566319599d086d526f6dc
2017-09-14Fix Qt 0.14.2->0.15.0 segfault if "total at least" is selectedMatt Corallo
A button was removed, so now button(1) is nullptr
2017-09-14Trivial: Fix comments for DEFAULT_WHITELIST[FORCE]RELAYdanra
2017-09-14Fix uninitialized g_connman crash in Shutdown()MeshCollider
2017-09-12Merge #10691: Trivial: Properly comment about shutdown process in init.cpp file.MarcoFalke
581c41157 Properly comment about shutdown process in init.cpp file (Kyuntae Ethan Kim) Pull request description: Tree-SHA512: 8aaf739ca5eb2cf6f777b69a0d65f391ba311a33d2e23abc4d3008f90c6ef9da79d0683845abfc08978309f43409f0a7021663f8c564e157224c1dbe15138158
2017-09-12Merge #11267: rpc: update cli for estimate*fee argument renameMarcoFalke
5acd82de9 rpc: make estimatesmartfee argument naming consistent with documentation (Wladimir J. van der Laan) 24697c40e rpc: update cli for estimatefee argument rename (Wladimir J. van der Laan) Pull request description: The first argument of `estimaterawfee` was renamed from `nblocks` to `conf_target` in 06bcdb8da64502a64df03f3c89fbc6ccb72cd349. Update the client-side table as well. This makes #10753 pass again. Tree-SHA512: 107c0072a45e0f4e083dc803d534973e6bd4c005e62337a867815d7c98ab1c21d97b7a495c32763883975cbbb001b80003001a6709b7d9bdd81ce4d441b667be
2017-09-12wallet: Display non-HD error on first runMarcoFalke
2017-09-12range-based loops and const qualifications in net.cppMarko Bencun
Plus a use of std::copy() instead of manual copying.
2017-09-11Merge #11252: [P2P] When clearing addrman clear mapInfo and mapAddr.Pieter Wuille
b86a42077 when clearing addrman clear mapInfo and mapAddr (Gregory Sanders) Pull request description: Power failure on my machine resulted in a corrupted addrman that would hit bad assertions when trying to serialize the "cleared" addrman to disk: https://github.com/bitcoin/bitcoin/blob/6866b4912b8013ed748d12250209f7079a3c92e6/src/addrman.h#L320 Tree-SHA512: 07ca8b6cbd88407e5f3f0dccb346ae31bd1392f4210b2d5c5647c853986bfec95cf70240b92bafdc61b90e452a5d8315962738d10c10c2b53fdabff10503d05a
2017-09-11Use a sensible default for blockmaxweightMatt Corallo
No sensible user will ever keep the default settings here, so not having sensible defaults only serves to screw users who are paying less attention, which makes for terrible defaults.
2017-09-11Deprecate confusing blockmaxsize, fix getmininginfo outputMatt Corallo
* This removes block-size-limiting code in favor of GBT clients doing the limiting themselves (if at all). * -blockmaxsize is deprecated and only used to calculate an implied blockmaxweight, addressing confusion from multiple users. * getmininginfo's currentblocksize return value was returning garbage values, and has been removed, also removing a GetSerializeSize call in some block generation inner loops and potentially addressing some performance edge cases.
2017-09-11Merge #11268: [macOS] remove Growl support, remove unused codeWladimir J. van der Laan
f151f5f50 [macOS] remove Growl support, remove unused code (Jonas Schnelli) Pull request description: There is no longer a reason to support Growl. A) It went to pay-ware since a couple of years B) Since OSX 10.8, the operating system has its own modal notification options (Notification Center). This PR removes support for Growl. OSX notification centre is still supported after this PR. Tree-SHA512: eee18098d7354c4e98f927bca9963d4843ff6bceee74795f73a66c27eed33efaac00ec2cabde8807efcbc936b16ab712249006fa13f5a3f55e4d44d163f5f9a0
2017-09-08Merge #11250: Bump wallet version to 159900 and remove the `usehd` optionWladimir J. van der Laan
713a92073 Remove usehd option and warn when it is used (Andrew Chow) d4c18f733 Bump wallet version number to 159900 (Andrew Chow) Pull request description: Bump the wallet version number to 159900 so that new wallets made without a default key will no longer work on previous versions at all. Also remove the `usehd` option to avoid weird interaction with wallet version numbers and HD-ness of wallets. Tree-SHA512: dd7965505bfad6a926c79afd423236f509229a398a8398076f8d57d90a5974243f9459a61225c4daee560c796f427445c9e55a3ad528a3a97a9123ca6a1269ab
2017-09-08rpc: make estimatesmartfee argument naming consistent with documentationWladimir J. van der Laan
Part of this was a reversion in ec6902d0ea2bbe75179684fc71849d5e34647a14.
2017-09-08rpc: update cli for estimatefee argument renameWladimir J. van der Laan
The first argument of estimatesmartfee was renamed from nblocks to conf_target in 06bcdb8da64502a64df03f3c89fbc6ccb72cd349. Update the client-side table as well.
2017-09-07Remove usehd option and warn when it is usedAndrew Chow
Removed the -usehd option so wallets cannot be made to be non-hd anymore. A warning will be displayed when the option is set.
2017-09-07Bump wallet version number to 159900Andrew Chow
2017-09-07Merge #10767: [wallet] Clarify wallet initialization / destruction interfaceMarcoFalke
5d2a3995e [trivial] fixup comment for VerifyWallets() (John Newbery) 43b0e81d0 [wallet] Add StartWallets() function to wallet/init.cpp (John Newbery) 290f3c56d [wallet] Add RegisterWalletRPC() function to wallet/init.cpp (John Newbery) 062d63102 [wallet] Add CloseWallets() function to wallet/init.cpp (John Newbery) 77fe07c15 [wallet] Add StopWallets() function to wallet/init.cpp (John Newbery) 2da5eafa4 [wallet] Add FlushWallets() function to wallet/init.cpp (John Newbery) 1b9cee66e [wallet] Rename WalletVerify() to VerifyWallets() (John Newbery) 9c76ba18c [wallet] Rename InitLoadWallet() to OpenWallets() (John Newbery) Pull request description: Apologies for the mostly code move only PR. This is a pre-req for both #10740 and #10762 All wallet component initialization/destruction functions are now in their own `wallet/init.cpp` translation unit and are no longer static functions on the CWallet class. The bitcoin_server also no longer has any knowledge that there are multiple wallets in vpwallet. There should be no changes in behavior from this PR. Tree-SHA512: 7c260eb094f2fa1a88d803769ba60935810968a7309f731135e4b17623b97f18c03bbcd293c942093d1efce62c6c978f9ff484d54dc9a60bc2fcb5af2d160fcd
2017-09-07[trivial] fixup comment for VerifyWallets()John Newbery
2017-09-07[wallet] Add StartWallets() function to wallet/init.cppJohn Newbery
2017-09-07[wallet] Add RegisterWalletRPC() function to wallet/init.cppJohn Newbery
2017-09-07[wallet] Add CloseWallets() function to wallet/init.cppJohn Newbery
2017-09-07[wallet] Add StopWallets() function to wallet/init.cppJohn Newbery
2017-09-07[wallet] Add FlushWallets() function to wallet/init.cppJohn Newbery
2017-09-07[wallet] Rename WalletVerify() to VerifyWallets()John Newbery
This function can now verify multiple wallets.
2017-09-07[wallet] Rename InitLoadWallet() to OpenWallets()John Newbery
Rationale: - this init function can now open multiple wallets (hence Wallet->Wallets) - This is named as the antonym to CloseWallets(), which carries out the opposite action.
2017-09-08Merge #10793: Changing &var[0] to var.data()Wladimir J. van der Laan
592404f03 Changing &vec[0] to vec.data(), what 9804 missed (MeshCollider) Pull request description: This just continues the work of https://github.com/bitcoin/bitcoin/pull/9804 Modifies a lot of `&vector[]`'s to `vector.data()`'s across all the files including tests, just the stuff that 9804 missed Tree-SHA512: dd1a9dffb999dea4fba78dcc91fe02f90250db86f5c74948e1ff3e8b4036b2154b600555eaa04dece5368920aae3513bc36425dc96e4319ca1041b0928a6b656
2017-09-08Merge #10756: net processing: swap out signals for an interface classWladimir J. van der Laan
2525b972a net: stop both net/net_processing before destroying them (Cory Fields) 80e2e9d0c net: drop unused connman param (Cory Fields) 8ad663c1f net: use an interface class rather than signals for message processing (Cory Fields) 28f11e940 net: pass CConnman via pointer rather than reference (Cory Fields) Pull request description: See individual commits. Benefits: - Allows us to begin moving stuff out of CNode and into CNodeState (after #10652 and follow-ups) - Drops boost dependency and overhead - Drops global signal registration - Friendlier backtraces Tree-SHA512: af2038c959dbec25f0c90c74c88dc6a630e6b9e984adf52aceadd6954aa463b6aadfccf979c2459a9f3354326b5077ee02048128eda2a649236fadb595b66ee3
2017-09-08Changing &vec[0] to vec.data(), what 9804 missedMeshCollider
2017-09-07Merge #10916: add missing lock to crypter GetKeys()Wladimir J. van der Laan
fe09b0197 add missing lock to crypter GetKeys() (Marko Bencun) 5cb3da04b keystore GetKeys(): return result instead of writing to reference (Marko Bencun) Pull request description: Issue: #10905 First commit makes GetKeys() return the result instead of writing to a reference to remove some useless lines. Tree-SHA512: bb51255b5a6cf5488c3d5dee89f539d41f0717f018441d120047f877e0a705a133fb3b7a97d1cf8f73b5d2ed93dd2dbdfcd6f394e40105af2a12e01d397cb402
2017-09-07Merge #11232: Ensure that data types are consistentWladimir J. van der Laan
061297f0a Ensure that data types are consistent (jjz) Pull request description: 1. nStatus of CBlockIndex is consistent with the definition of Enum(BlockStatus) 2. The BlockHeader is consistent with the type of variable defined in CBlockHeader Tree-SHA512: 3d4a55c62d3e17b9c83807eae153db4fcfcd8477c9413a45dedfa157563e77b775a66974648d28c9d44ac45a5705eef83b31a8a3b44316dc9814b85526a9d034
2017-09-07Merge #11237: qt: Fixing division by zero in time remainingWladimir J. van der Laan
c8d38abd6 Refactor tipUpdate as per style guide (MeshCollider) 3b69a08c5 Fix division by zero in time remaining (MeshCollider) Pull request description: Fixes https://github.com/bitcoin/bitcoin/issues/10291, https://github.com/bitcoin/bitcoin/issues/11265 progressDelta may be 0 (or even negative according to 11265), this checks for that and prints unknown if it is, because we cannot calculate an estimate for the time remaining (would be infinite or negative). Tree-SHA512: bc5708e5ed6e4670d008219558c5fbb25709bd99a32c98ec39bb74f94a0b7fa058f3d03389ccdd39e6723e6b5b48e34b13ceee7c051c2db631e51d8ec3e1d68c
2017-09-07net: stop both net/net_processing before destroying themCory Fields
This should avoid either attempting to use an invalid reference/pointer to the other.
2017-09-07[macOS] remove Growl support, remove unused codeJonas Schnelli
2017-09-07Merge #11156: Fix memory leaks in qt/guiutil.cppJonas Schnelli
9b348ff9e Fix memory leaks in qt/guiutil.cpp (Dan Raviv) Pull request description: on macOS: `listSnapshot` was leaking in `findStartupItemInList()` `bitcoinAppUrl` was leaking in `[Get|Set]StartOnSystemStartup()` Tree-SHA512: dd49e1166336cf4f20035d21930f2f99f21f1d9f91a1101b1434a23dd0b92d402ac7efb177473c758d8af1dbab8d8750485583231c5b5854203d2493f0b43e73