aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-02-06Merge #12218: net: Move misbehaving logging to net logging categoryWladimir J. van der Laan
d3a185a net: Move misbehaving logging to net logging category (Wladimir J. van der Laan) Pull request description: This moves the error messages for misbehavior (when available) into the line that reports the misbehavior, as well as moves the logging to the `net` category. This is a continuation of #11583 and avoids serious-looking errors due to misbehaving peers. As it is impossible to correlate the `peer=X` numbers to specific incoming connections now without enabling the `net` category, it doesn't really help to see these messages by default. To do this, Misbehaving() gains an optional `message` argument. E.g. change: 2018-01-18 16:02:27 Misbehaving: x.x.x.x:62174 peer=164603 (80 -> 100) BAN THRESHOLD EXCEEDED 2018-01-18 16:02:27 ERROR: non-continuous headers sequence to 2018-01-18 16:02:27 Misbehaving: x.x.x.x:62174 peer=164603 (80 -> 100) BAN THRESHOLD EXCEEDED: non-continuous headers sequence When there is a category for "important" net messages (see #12219 ), we should move it there. Tree-SHA512: 51c97e9a649bf5409f2fd4625fa1243a036e9c9de6037bb064244207408c2e0eb025e3af80866df673cdc006b8f35dc4078d074033f0d4c6a73bbb03949a269f
2018-02-06Merge #12342: Extend #11583 to include "version handshake timeout" messageWladimir J. van der Laan
c887f87 Extend #11583 to include the most common message generated by non-contributing peers (port scanners?) 37% of the log default log entries for a node that has been up for ~24hrs was "version handshake timeout..." (Clem Taylor) Pull request description: 37% of the default log entries for a node that has been up for ~24hrs was "version handshake timeout..." Tree-SHA512: dceeee5d55a9ff7570174aeb63faac9beda239087220522adefef7ed11e0eeffa008ca28726011247c8834c1a222d37817baf895635ab874a95ebc435959070e
2018-02-05Merge #12330: Reduce scope of cs_main and cs_wallet locks in listtransactionsMarcoFalke
c409b1adac [rpc] Reduce scope of cs_main and cs_wallet locks in listtransactions (João Barbosa) Pull request description: Trivial change, no behaviour change. Benchmark done as follow: - run with `-regtest` - wallet with 5000 transactions - measured the time spent with the lock and the total time - times are an average of 100 `listtransactions --count=...` calls | `--count` | lock (ms) | total (ms) | saving | |--:|--:|--:|--:| | 10 | 0.2230 | 0.2510 | 11% | | 100 | 2.5150 | 2.8690 | 12% | | 1000 | 20.0320 | 23.3490 | 14% | | 10000 | 105.2070 | 125.5310 | 16% | Tree-SHA512: ebedfeeb4c8ad75c89128e53cae976a82967dbb5ffd129da0f7204ccf9c3c15070b3d509f3767bebd745512e410200cc546147c836e82409f95fc9b8d14fc3ed
2018-02-04Merge #12331: Docs: Properly alphabetize output of CLI --help option.MarcoFalke
d3e467520f Properly alphabetize output of CLI --help option. (murrayn) Pull request description: The --help output of bitcoind, bitcoin-cli, bitcoin-tx, qt/bitcoin-qt, et al. is only about 90% alphabetized by option, which is kind of sloppy and occasionally misleading. This change (mostly) organizes the output alphabetically. Tree-SHA512: 3029900dbe99f03397c1cbdb5e4ac09a13bc99bafe73c6855097206e4cdd9ad70d0b5cedb5e1e520005c3e9ef1c4cd32bb9d8c98ce6918d8434fec8bf06e56c8
2018-02-03Extend #11583 to include the most common message generated by ↵Clem Taylor
non-contributing peers (port scanners?) 37% of the log default log entries for a node that has been up for ~24hrs was "version handshake timeout..."
2018-02-02Merge #12317: Document method for reviewers to verify chainTxDataWladimir J. van der Laan
7444149 Document method for reviewers to verify chainTxData (John Newbery) Pull request description: This commit adds the final block hash of the window to getchaintxstats and documents how reviewers can verify changes to chainTxData. Tree-SHA512: d16abb5f47d058e52660f4d495f1e453205b1b83716d7c810ff62a70338db721386c1808ec1fc8468f514e4d80cc58e3c96eeb3184cbbcb1d07830fa5e53f342
2018-02-02Document method for reviewers to verify chainTxDataJohn Newbery
This commit adds the final block hash of the window to getchaintxstats and documents how reviewers can verify changes to chainTxData.
2018-02-02Merge #12283: Fix typosMarcoFalke
1340eda3b7 Fix typos (practicalswift) Pull request description: Fix typos. Tree-SHA512: 533a136831387ef26e9a74ba078437496bee38cc026da73fa9e6f6e7f4d5665eccac24cf3ef05e6d3af1329a1214f5ce71b039ddb8378b074e6d4408b8701f95
2018-02-02Merge #12329: net: don't retry failed oneshot connections foreverWladimir J. van der Laan
660f5f1 net: don't retry failed oneshot connections forever (Cory Fields) Pull request description: As introduced by (my suggestion, sorry, in) #11512, failed dns resolves end up as oneshots. But failed oneshots are re-added as oneshots, so we need to make sure that we're not queuing these up forever after failed resolves. Rather than trying to differentiate, I think we should just not re-add failed oneshots and be done with it. Maybe @sipa can shed a light on what the original intention was. Tree-SHA512: 2dfe35dabfb6354c315cf6f8ae42971765d36575e685662caae7ed8f9dea9472c6fb1fd5e62ec35301550b74b6613a54265e90fca2a6618544f78dacaac4d4fd
2018-02-01Properly alphabetize output of CLI --help option.murrayn
2018-02-02[rpc] Reduce scope of cs_main and cs_wallet locks in listtransactionsJoão Barbosa
2018-02-01Merge #12327: [gui] Defer coin control instancingJonas Schnelli
6558f8acc [gui] Defer coin control instancing (João Barbosa) Pull request description: Defer the GUI coin control instancing so that argument processing is taken into account for the default coin control values. Fixes #12312 Tree-SHA512: ecda28b94f4709319e9484b01afe763c7c3569097d2afb89db79da8a195c46d20ea77166df7edce0c8ab77627b295def01c072148714503436d27675d5e75d99
2018-02-01[gui] Defer coin control instancingJoão Barbosa
Defer the GUI coin control instancing so that argument processing is taken into account for the default coin control values.
2018-02-01net: don't retry failed oneshot connections foreverCory Fields
2018-02-01net: initialize socket to avoid closing random fd'sCory Fields
2018-01-30qt: Periodic translations updateWladimir J. van der Laan
Pull 0.16 translations before forking, to avoid having to do it twice. Tree-SHA512: 9c093885f03783e0f64718985c5f9d385d2a8592e2acc87d922ca973d07c756a6b7fff585388094f0e1b673c41e792ce918c1f594b45e82a262acd93e1b91a8e
2018-01-30Merge #12266: Move scheduler/threadGroup into common-init instead of per-appWladimir J. van der Laan
082a61c Move scheduler/threadGroup into common-init instead of per-app (Matt Corallo) Pull request description: This resolves #12229 which pointed out a shutdown deadlock due to scheduler/checkqueue having been shut down while network message processing is still running. Tree-SHA512: 0c0a76113996b164b0610d3b8c40b396f3e384d165bf098768e31fe3701b00763d0d810ef24702387e2e936fefb9fb900a6225f7417bb0175b585f365d542660
2018-01-30Merge #12276: Remove duplicate mapWallet lookupsWladimir J. van der Laan
039425c [wallet] Remove duplicate mapWallet lookups (João Barbosa) Pull request description: Tree-SHA512: 8075925d2adb64737c691e988d74a37bc326711aaee2c37327361679c051f219fa500e14cbcdb6a169352bcdbab160e11df4276b2657e19e12908ee2d4444d30
2018-01-30Merge #12278: Add special error for genesis coinbase to getrawtransactionWladimir J. van der Laan
ee11121 Add special error for genesis coinbase to gettransaction (MeshCollider) Pull request description: Suggested by sipa here: https://botbot.me/freenode/bitcoin-core-dev/2018-01-23/?msg=96069825&page=2 Just adds a special error message for the genesis block coinbase transaction when using `getrawtransaction` Tree-SHA512: cd102c7983ec5457b299bff4b6db747d339fda157933a3ac54aec26b1e48b115aa68c1c9e6cb7a916f15c7786273ab558b2b20ab9768544d211e0ae9d1480e34
2018-01-30Add special error for genesis coinbase to gettransactionMeshCollider
2018-01-29Merge #12293: [rpc] Mention that HD is enabled if hdmasterkeyid is presentMarcoFalke
c6b6385651 [rpc] Mention that HD is enabled if hdmasterkeyid is present (fanquake) Pull request description: Also adds optional flag. Replaces #12042 Tree-SHA512: 6aded2cf36799f697eacbe4f51dff7c8110281092ca3c4fd73e26f57d788ec95a4fcbaf6976ef144e64f2e52759dbe241ac218a95e5ca2233cae1b98bfa5872e
2018-01-29Merge #11577: Fix warnings (-Wsign-compare) when building with DEBUG_ADDRMANWladimir J. van der Laan
6eddd43 Fix warnings when building with DEBUG_ADDRMAN (practicalswift) Pull request description: Fix warnings when building with `DEBUG_ADDRMAN`. Warnings prior to this commit: ``` addrman.cpp:390:24: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare] if (vRandom.size() != nTried + nNew) ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ addrman.cpp:411:52: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] if (info.nRandomPos < 0 || info.nRandomPos >= vRandom.size() || vRandom[info.nRandomPos] != n) ~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~ addrman.cpp:419:25: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare] if (setTried.size() != nTried) ~~~~~~~~~~~~~~~ ^ ~~~~~~ addrman.cpp:421:23: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare] if (mapNew.size() != nNew) ~~~~~~~~~~~~~ ^ ~~~~ 4 warnings generated. ``` Tree-SHA512: 0316faecfe95066d2c9a0b6b3960086e43824f21a67086a895ea45fbce1327f8d6df5945fe923c2dbe4efce430bc1384d515d317c3930d97d24965e507cf734d
2018-01-29Merge #12159: Use the character based overload for std::string::find.Wladimir J. van der Laan
a73aab7 Use the character based overload for std::string::find. (Alin Rus) Pull request description: std::string::find has a character based overload as can be seen here (4th oveload): http://www.cplusplus.com/reference/string/string/find/ Use that instead of constantly allocating temporary strings. Tree-SHA512: dc7684b1551e6d779eb989e9a74363f9b978059a7c0f3db09d01744c7e6452961f9e671173265e71efff27afbcb80c0fe2c11b6dff2290e54a49193fa25a5679
2018-01-29[rpc] Mention that HD is enabled if hdmasterkeyid is presentfanquake
2018-01-29Merge #12108: [Refactor] Remove unused fQuit var from checkqueue.hWladimir J. van der Laan
30ded3e [Refactor] Remove unused fQuit var from checkqueue.h (donaloconnor) Pull request description: As per PR title, this var is no longer required Tested by doing a successful compile. Tree-SHA512: 845e5e0a250cb99e353e8584e9af2df44d97683174e8caa1069bd192b72ab622063765f29676272aecaef87596d72c63ae628404e2f42555136ec2c26d419f2d
2018-01-29Merge #12197: Log debug build status and warn when running benchmarksWladimir J. van der Laan
34328b4 Use PACKAGE_NAME instead of hardcoding application name in log message (Wladimir J. van der Laan) 0c74e2e Log debug build status and warn when running benchmarks (Wladimir J. van der Laan) Pull request description: Log whether the starting instance of bitcoin core is a debug or release build (--enable-debug). Also warn when running the benchmarks with a debug build, to prevent mistakes comparing debug to non-debug results. Tree-SHA512: f612dcb7d0a8435016cff0df8aef4942144dfb88be8a00df45cc8830d2aba4b167f6d397b83f8f57d57685888babd04ba88d4dac5a202d3dbd91bcbea3708ef0
2018-01-28[wallet] Remove duplicate mapWallet lookupsJoão Barbosa
2018-01-28Fix typospracticalswift
2018-01-25Update chainTxData for 0.16Wladimir J. van der Laan
Another part of the release process.
2018-01-25Merge #12269: Update defaultAssumeValid to block 506067Wladimir J. van der Laan
bde8bcd Update defaultAssumeValid according to release-process.md. (Gregory Maxwell) Pull request description: Update defaultAssumeValid according to release-process.md. Updated for block 506067 (0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0). Tree-SHA512: 38e6440a11609e56df816e295ceff697d29830a1d85009f920250320c474f8b04a182635b2f1ab44f54d0cdb8b4e4378336a788400e513d7482514434e53b3ff
2018-01-25Merge #12262: net: Hardcoded seed updateWladimir J. van der Laan
1e90544 net: Update hardcoded seeds (Wladimir J. van der Laan) 55f52bd contrib: Update ATTERN_AGENT to include 0.15.x (Wladimir J. van der Laan) Pull request description: Update the hardcoded node addresses, after changing the pattern to include 0.15.x. Tree-SHA512: 58b997393d77dcee3dcaffba0c6f185ca46c24d766b33d3a8c9d9efe5dd2e01f086b894a23e185120eee5054697e409b64736e53ca8e42b2315f82355c5f5d5c
2018-01-25Move scheduler/threadGroup into common-init instead of per-appMatt Corallo
This resolves #12229 which pointed out a shutdown deadlock due to scheduler/checkqueue having been shut down while network message processing is still running.
2018-01-25Update defaultAssumeValid according to release-process.md.Gregory Maxwell
Updated for block 506067 (0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0).
2018-01-24Merge #12261: qt: Bump BLOCK_CHAIN_SIZE to 200GBMarcoFalke
ba490d2460 qt: Bump BLOCK_CHAIN_SIZE to 200GB (Wladimir J. van der Laan) Pull request description: Part of the release process for 0.16. Value is open for discussion, my blocks/ directory is 163GB but this leaves some slack. Tree-SHA512: 4dff81740992bf9de90427934afeb223ea5216f5682c9f07cb5c47aea33980a4c682fe3fd43c3dfa2c4d66ad0e7434dbce6cb252e56d63b36df605e12af9b10a
2018-01-24Merge #12194: Add change type option to fundrawtransactionJonas Schnelli
16f6f59dc [qa] Test fundrawtransaction with change_type option (João Barbosa) 536ddeb17 [rpc] Add change_type option to fundrawtransaction (João Barbosa) 31dbd5af4 [wallet] Add change type to CCoinControl (João Barbosa) Pull request description: Adds a new option `change_type` to `fundrawtransaction` RPC. This is useful to override the node `-changetype` argument. The new option is exclusive to `changeAddress` option, setting both raises a RPC error. See also #11403, #12119. Tree-SHA512: 654686444f6125e37015a62f167064d54ec335701534988447be4687fa5ef9c7980a8a07cc0a03fff6ea6c4c1abf0f77a8843d535c4f3fe0bf93f968a4e676e6
2018-01-24Merge #12213: Add address type option to addmultisigaddressJonas Schnelli
f523c6bec [qa] Use address type in addmultisigaddress to avoid addwitnessaddress (João Barbosa) 886a92f25 [rpc] Add address type option to addmultisigaddress (João Barbosa) Pull request description: Adds the option `address_type` to `addmultisigaddress` and `createmultisg` RPC. This also allows to avoid `addwitnessaddress` to obtain an `p2sh-segwit` or `bech32` multsig address. Related to #12210 as this reduces `addwitnessaddress` usage. Tree-SHA512: 8f8f85dfcff66bb6c7e1e9865e37c285dead1d6dadb9672a89b92fa209d03cc35817ca1d656588c6c2146b728daaf7540b851929b640294653c62836cbefe7ee
2018-01-24net: Update hardcoded seedsWladimir J. van der Laan
Update the hardcoded node addresses, after bumping the pattern in last commit.
2018-01-24initwallet: Do not translate highly technical addresstype helpMarcoFalke
2018-01-24qt: Bump BLOCK_CHAIN_SIZE to 200GBWladimir J. van der Laan
Part of the release process for 0.16. Value is open for discussion, my blocks/ directory is 163GB but this leaves some slack.
2018-01-24[rpc] Add change_type option to fundrawtransactionJoão Barbosa
2018-01-24[wallet] Add change type to CCoinControlJoão Barbosa
2018-01-24qt: Update translation source fileWladimir J. van der Laan
Tree-SHA512: d16e6fd179c74203c9ce2dae717fe1d71b501ee6e397f10c6d0ec6fad9bdad256d9f383781d1f375c82d309d76547edf5ec10bdecabc21db4339b68c326e208e
2018-01-24Merge #12250: Make CKey::Load references constWladimir J. van der Laan
04ededf Make CKey::Load references const (Russell Yanofsky) Pull request description: No change in behavior, this just prevents CKey::Load arguments from looking like outputs. Tree-SHA512: 6d93bce109318e88ddd5c21ad626571344707ae0e6d46e898c76fd95a7afd1c32202a6b3dfab47d6a787c84dfcbb35343cdec898bcf8f668574aa224f2eed977
2018-01-24[rpc] Add address type option to addmultisigaddressJoão Barbosa
2018-01-24Merge #12119: [wallet] use P2WPKH change output if any destination is P2WPKH ↵Wladimir J. van der Laan
or P2WSH 596c446 [wallet] use P2WPKH change output if any destination is P2WPKH or P2WSH (Sjors Provoost) Pull request description: If `-changetype` is not explicitly set, then regardless of `-addresstype`, the wallet will use a ~`bech32` change address~ `P2WPKH` change output if any destination is `P2WPKH` or `P2WSH`. This seems more intuitive to me and more in line with the spirit of [BIP-69](https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki). When combined with #11991 a QT user could opt to use `bech32` exclusively without having to figure out how to launch with `-changetype=bech32`, although so would #11937. Tree-SHA512: 9238d3ccd1f3be8dfdd43444ccf45d6bdc6584ced3172a3045f3ecfec4a7cc8999db0cdb76ae49236492a84e6dbf3a1fdf18544d3eaf6d518e1f8bd241db33e7
2018-01-24Merge #11415: [RPC] Disallow using addresses in createmultisigWladimir J. van der Laan
1df206f Disallow using addresses in createmultisig (Andrew Chow) Pull request description: This PR should be the last part of #7965. This PR makes createmultisig only accept public keys and marks the old functionality of accepting addresses as deprecated. It also splits `_createmultisig_redeemscript` into two functions, `_createmultisig_getpubkeys` and `_createmultisig_getaddr_pubkeys`. `_createmultisig_getpubkeys` retrieves public keys from the RPC parameters and `_createmultisig_getaddr_pubkeys` retrieves addresses' public keys from the wallet. `_createmultisig_getaddr_pubkeys` requires the wallet and is only used by `addwitnessaddress` (except when `createmultisig` is used in deprecated mode). `addwitnessaddress`'s API is also changed. Instead of returning just an address, it now returns the same thing as `createmultisig`: a JSON object with two fields, address and redeemscript. Tree-SHA512: a5796e41935ad5e47d8165ff996a8b20d5112b5fc1a06a6d3c7f5513c13e7628a4fd37ec30fde05d8b15abfed51bc250710140f6834b13f64d0a0e47a3817969
2018-01-24Merge #11512: Use GetDesireableServiceFlags in seeds, dnsseeds, fixing ↵Wladimir J. van der Laan
static seed adding 2b839ab Update chainparams comment for more info on service bits per dnsseed (Matt Corallo) 62e7642 Fall back to oneshot for DNS Seeds which don't support filtering. (Matt Corallo) 51ae766 Use GetDesireableServiceFlags in static seeds, document this. (Matt Corallo) fb6f6b1 bluematt's testnet-seed now supports x9 (and is just a static list) (Matt Corallo) Pull request description: 4440710 broke inserting entries into addrman from dnsseeds which did not support service bits, as well as static seeds. Static seeds were already being filtered by UA for 0.13.1+ (ie NODE_WITNESS), so simply changing the default service bits to include NODE_WITNESS (and updating docs appropriately) is sufficient. For DNS Seeds, not supporting NODE_WITNESS is no longer useful, so instead use non-filtering seeds as oneshot hosts irrespective of named proxy. I've set my testnet-seed to also support x9, though because it is simply a static host, it may be useful to leave the support off so that it is used as a oneshot to get addresses from a live node instead. I'm fine with either. Tree-SHA512: 3f17d4d2b0b84d876981c962d2b44cb0c8f95f52c56a48c6b35fd882f6d7a40805f320ec452985a1c0b34aebddb1922709156c3ceccd1b9f8363fd7cb537d21d
2018-01-24Merge #11281: Avoid permanent cs_main/cs_wallet lock during RescanFromTimeWladimir J. van der Laan
7f81250 Mention that other RPC calls report keys as "imported" while txns are still missing (Jonas Schnelli) ccd8ef6 Reduce cs_main lock in ReadBlockFromDisk, only read GetBlockPos under the lock (Jonas Schnelli) bc356b4 Make sure WalletRescanReserver has successfully reserved the rescan (Jonas Schnelli) dbf8556 Add RAII wallet rescan reserver (Jonas Schnelli) 8d0b610 Avoid pemanent cs_main/cs_wallet lock during wallet rescans (Jonas Schnelli) Pull request description: Right now, we are holding `cs_main`/`cs_wallet` during the whole rescan process (which can take a couple of hours). This was probably only done because of laziness and it is an important show-stopper for #11200 (GUI rescan abort). Tree-SHA512: 0fc3f82d0ee9b2f013e6bacba8d59f7334306660cd676cd64c47bb305c4cb7c7a36219d6a6f76023b74e5fe87f3ab9fc7fd2439e939f71aef653fddb0a1e23b1
2018-01-24net: Move misbehaving logging to net logging categoryWladimir J. van der Laan
This moves the error messages for misbehavior (when available) into the line that reports the misbehavior, as well as moves the logging to the `net` category. This is a continuation of #11583 and avoids serious-looking errors due to misbehaving peers. To do this, Misbehaving() gains an optional `message` argument. E.g. change: 2018-01-18 16:02:27 Misbehaving: x.x.x.x:62174 peer=164603 (80 -> 100) BAN THRESHOLD EXCEEDED 2018-01-18 16:02:27 ERROR: non-continuous headers sequence to 2018-01-18 16:02:27 Misbehaving: x.x.x.x:62174 peer=164603 (80 -> 100) BAN THRESHOLD EXCEEDED: non-continuous headers sequence
2018-01-23Mention that other RPC calls report keys as "imported" while txns are still ↵Jonas Schnelli
missing