hhhogannwo
commented at 6:50 PM on January 1, 2022:
none
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improve coverage are always welcome.
* All other changes should have accompanying unit tests (see `src/test/`) or
functional tests (see `test/`). Contributors should note which tests cover
modified code. If no tests exist for a region of modified code, new tests
should accompany the change.
* Bug fixes are most welcome when they come with steps to reproduce or an
explanation of the potential issue as well as reasoning for the way the bug
was fixed.
* Features are welcome, but might be rejected due to design or scope issues.
If a feature is based on a lot of dependencies, contributors should first
consider building the system outside of Bitcoin Core, if possible.
* Refactoring changes are only accepted if they are required for a feature or
bug fix or otherwise improve developer experience significantly. For example,
most "code style" refactoring changes require a thorough explanation why they
are useful, what downsides they have and why they *significantly* improve
developer experience or avoid serious programming bugs. Note that code style
is often a subjective matter. Unless they are explicitly mentioned to be
preferred in the [developer notes](/doc/developer-notes.md), stylistic code
changes are usually rejected.
-->
<!--
Bitcoin Core has a thorough review process and even the most trivial change
needs to pass a lot of eyes and requires non-zero or even substantial time
effort to review. There is a huge lack of active reviewers on the project, so
patches often sit for a long time.
-->
build: Bump version to 0.18.0
Update version after branching off
Tree-SHA512: 48f2c2ecfc485f0c864d2b1748ffb382df444abdc8387886bee1be5e49bbcaa6baf0a52544abb7189d762a3f33c82a794413511580e6154c0f82e5e58bea0b0f
742f7dd972
doc: Merge release notes fragments
- Merge release notes fragments into release-notes.md
- Remove downgrading notes (as I understand this pertains to `<0.15`,
this doesn't warrant mentioning anymore)
Tree-SHA512: 839e30807651ff53efa713f707ba0744c6c6c9bcb2c9c8afc0e299c93f772cc9a0ef294ba7e15f7049280556404d9b2e96b74f28e456aa36130af05bc7cfe035
b702e3757e
Merge #15524: [0.18] doc: Remove ppa from linux build instructions
fa3148aacbea0e1a0ba8016b66b8d6b876c267b2 doc: Remove ppa from linux build instructions (MarcoFalke)
Pull request description:
Same commit hash as #15518
Tree-SHA512: b6ab2f84ca8efc4e71604422b427793b8b17d8d50422177f4ce967421457eee8c2f1d1e0e4fa8cad05cf42ab4343a25e4ee0404cafee978456eefe0c72b11f2b
Merge #15552: 0.18: Granular invalidateblock and RewindBlockIndex
519b0bc5dc5155b6f7e2362c2105552bb7618ad0 Make last disconnected block BLOCK_FAILED_VALID, even when aborted (Pieter Wuille)
8d220417cd7bc34464e28a4861a885193ec091c2 Optimization: don't add txn back to mempool after 10 invalidates (Pieter Wuille)
9ce9c37004440d6a329874dbf66b51666d497dcb Prevent callback overruns in InvalidateBlock and RewindBlockIndex (Pieter Wuille)
9bb32eb571a846b66ed3bac493f55cee11a3a1b9 Release cs_main during InvalidateBlock iterations (Pieter Wuille)
9b1ff5c742dec0a6e0d6aab29b0bb771ad6d8135 Call InvalidateBlock without cs_main held (Pieter Wuille)
241b2c74ac8c4c3000e778554da1271e3f293e5d Make RewindBlockIndex interruptible (Pieter Wuille)
880ce7d46b51835c00d77a366ec28f54a05239df Call RewindBlockIndex without cs_main held (Pieter Wuille)
436f7d735f1c37e77d42ff59d4cbb1bd76d5fcfb Release cs_main during RewindBlockIndex operation (Pieter Wuille)
1d342875c21b5d0a17cf4d176063bb14b35b657e Merge the disconnection and erasing loops in RewindBlockIndex (Pieter Wuille)
32b2696ab4b079db736074b57bbc24deaee0b3d9 Move erasure of non-active blocks to a separate loop in RewindBlockIndex (Pieter Wuille)
9d6dcc52c6cb0cdcda220fddccaabb0ffd40068d Abstract EraseBlockData out of RewindBlockIndex (Pieter Wuille)
Pull request description:
Same repo and branch like "Granular invalidateblock and RewindBlockIndex #15402 ", can be merged as is.
This saves us all the cherry-picks and review of the backport cherry-picks.
Tree-SHA512: 20c27c5f807c3d85e0072f9e2cdefad4ad7d329d6b26658a00844d5fcf0ed729059daf765e04e6382db2b5915117b15949cd4989d864917ab105c92e2e5e9986
[net] feeler connections can be made to outbound peers in same netgroup
Fixes a bug where feelers could be stuck trying to resolve a collision in the
tried table that is to an address in the same netgroup as an existing outbound peer.
Thanks to Muoi Tran for the original bug report and detailed debug logs to track
this down.
Github-Pull: #15486
Rebased-From: 4991e3c813c9848d3b3957ea3ad433f02fca9e81
Tree-SHA512: 2752c9909d55ff63b9143168033d0d3952effba7f911181919eb62291edf822ec54fffbb20e35b5c5f8cb1092d75c496665da00139dbebe5ce402cbea3ad87c5
487f0c3dc9
[addrman] Ensure collisions eventually get resolved
After 40 minutes, time out a test-before-evict entry and just evict without
testing. Otherwise, if we were unable to test an entry for some reason, we
might break using feelers altogether.
Github-Pull: #15486
Rebased-From: f71fdda3bc2e7acd2a8b74e882364866b8b0f55b
Tree-SHA512: 66c61a9f030b1666e98e4fe66dd6cfc5f1d03b2a1ec01567b195903db6e4412ac778f4464ee9ef35ae6faa1ab7e4b18ef7ecb9a7ced29e6494046990aebf7b76
333be7aabf
[addrman] Improve collision logging and address nits
[p2p] Enable BIP 61 REJECT messages by defaultda14d90984
[docs] document BIP 61 deprecationa7563633d2
Merge #15602: 0.18: [p2p] Enable reject messages by default
a7563633d2 [docs] document BIP 61 deprecation (John Newbery)
da14d90984 [p2p] Enable BIP 61 REJECT messages by default (John Newbery)
Pull request description:
This PR reverts #14054 following discussion on the bitcoin-dev mailing list.
It also adds release notes to clearly document that the `enablebip61` option will be disabled by default in a future release before being removed entirely.
Tree-SHA512: 0c9162045a4fb95689a0cb2de19f98a83636c9a6fb7ffa6809773b593c6c00b14e0480683e4d1c48e9b7f90e89cf7c2dca18bff42f5d2da2a43c522039e9f1ee
gui: Defer removeAndDeleteWallet when no modal widget is active98a24a262e
Merge #15641: Backport #15614 to 0.18: gui: Defer removeAndDeleteWallet when no modal widget is active
98a24a262eceb8fddad363f4bb1459c2dd8608eb gui: Defer removeAndDeleteWallet when no modal widget is active (João Barbosa)
Pull request description:
0.18 Backport of #15614
Tree-SHA512: 8f785705325364ecfa37045090f10ca615f457e279789b0ce0d61f2667f491bce9b44f5e5cdeeecf63d61356213d9a97a3578841295cc8480cf42e037c2decb2
b022242887
[rpc] Remove deprecated functionality message from validateaddress help
This functionality was removed in v0.18.
be8b9c62bf
Merge #15647: [rpc] Remove deprecated functionality message from validateaddress help
be8b9c62bf [rpc] Remove deprecated functionality message from validateaddress help (John Newbery)
Pull request description:
This functionality was removed in v0.18.
ACKs for commit be8b9c:
MarcoFalke:
utACK be8b9c62bf3735d2ecb87bb39ba4816df8d2d3e0
fanquake:
utACK be8b9c6
Tree-SHA512: 7e30f1e56020aa3a59e736574075191155866788156d0d30eaf963c0a5015ad0de43787c6b73a765319f2dccec0117a2230a312d18ca3f9be3986ce3de4afdb3
Interrupt orphan processing after every transaction
This makes orphan processing work like handling getdata messages:
After every actual transaction validation attempt, interrupt
processing to deal with messages arriving from other peers.
Github-Pull: #15644
Rebased-From: 866c8058a706931f025335b3e794ed2f4d287918
50c56f2fcf
[tests] Add test for wallet rebroadcasts
The existing wallet_resendwallettransactions.py test only tests the
resendwallettransactions RPC. It does not test whether transactions are
actually rebroadcast, or whether the rebroadcast logic is called on a
timer.
This commit updates the test to not use the resendwallettransactions RPC and
test that transactions are rebroadcast on a timer.
Github-Pull: #15646
Rebased-From: 529c1ae4a04248a46a8b4a5a63ecbb12a63ff50e
a90db2f175
wallet: Move CWallet::ReacceptWalletTransactions locks to callers
bf32bc4b3d Mention new descriptor RPCs in descriptors.md (Pieter Wuille)
1b0752a265 Mention new PSBT RPCs in psbt.md (Pieter Wuille)
956c0aac28 doc: correct bitcoinconsensus_version in shared-libraries (fanquake)
538fef6625 Update bips.md for 0.18.0 (Pieter Wuille)
Pull request description:
Can be bumped to 0.18.1 if `rc3` ends up being final.
ACKs for commit bf32bc:
MarcoFalke:
ACK bf32bc4b3de51d073d9308bdce8db0e0fb083727
Tree-SHA512: 60ad8f0ca53b9fbf6f2a4941bd10971cfece192032d1feff3b25e1b8572caf72cd63c5b8507c376a8bdfb57da6551ac9c2c32dc1f8dc2658a3ea4abf75b0fd9a
60d46219754692355aef719681a7d80ec38035bc rpc: getrpcinfo docs (Ben Carman)
Pull request description:
Backports #15754 to the 0.18 branch
#15754 added the help message for `getrpcinfo`
ACKs for commit 60d462:
promag:
utACK 60d4621.
fanquake:
utACK 60d4621
Tree-SHA512: 3c0f0aded2dbd300b1cb5e3a3abb1d84852a165aa6ebb337833f06ba135730192a6e86b58323e4c5eb3a7636268125bea7be05925b5b316220bfa5ac1de4a5f4
f42ed1442e
[rpc] Remove the addresses field from the getaddressinfo return object
The "addresses" field was confusing because it refered to public keys
using their P2PKH address. It was included in the return object when
needed for backward compatibility. Remove that compatibility now that
the -deprecatedrpc=validateaddress option has been removed.
New applications should use the 'embedded'->'address' field for P2SH or
P2WSH wrapped addresses, and 'pubkeys' for inspecting multisig
participants.
Github-Pull: 15750
Rebased-From: b4338c151d4788c33f4b7c54daaf7f94b193a624
b3a04c963d
Merge #15800: Backport: [rpc] Remove the addresses field from the getaddressinfo return object
b3a04c963d [rpc] Remove the addresses field from the getaddressinfo return object (John Newbery)
Pull request description:
Backport #15750
ACKs for commit b3a04c:
MarcoFalke:
ACK b3a04c963d4e761b66a1a8c1aae1c835534e47eb (checked cherry-pick)
Tree-SHA512: d6e586fb6e22b9825267d6c45dd3090b7f8dc1a06804ca238103d1c665b178f8c2b3004f67aae67ea51c2c3df97561894f3f2e85d45400c760c3b7f057ff4bb8
as per http://www.erisian.com.au/bitcoin-core-dev/log-2019-04-11.html#l-102.
Description adapted from https://github.com/bitcoin/bitcoin/blob/master/src/init.cpp#L429.
Also fixes a typo in doc/dependencies.md.
Github-Pull: #15792
Rebased-From: 140bbeec45f14fd50cce68448bc7fa655cbef951
Merge #15803: [0.18] Backport 15749: importmulti only imports origin info for PKH outputs
235550d019 Take non-importing keys into account for spendability warning in descriptor import (Pieter Wuille)
802dcd37d1 Import all origin info in importmulti; even for non-importing pubkeys (Pieter Wuille)
7fcbe7dc11 Keep full pubkeys in FlatSigningProvider::origins (Pieter Wuille)
Pull request description:
Clean backport of #15749 by sipa to 0.18
ACKs for commit 235550:
fanquake:
utACK 235550d
MarcoFalke:
ACK 235550d019 (Checked that they are clean cherry-picks)
Tree-SHA512: 1ccc19f51137ac4ef971c0bcca4c87ab2383610aa51c5d02680c485b9ce6abd698dddd7f4a45946d56b1aa741cc3fd94b4180ff15901824d20eeba89b4f12853
e57462c6ba
Revert "Change in transaction pull scheduling to prevent InvBlock-related attacks"
This reverts commit 1cff3d6cb017aea87d16cbda0768bbab256d16da.
GUI: Options: Set the range of pruning size before loading its value
Without this, an out-of-default-range value gets limited to the range
Github-Pull: #15801
Rebased-From: 4ddeb2f860eee98fbe94725ea8885368068a03f2
Tree-SHA512: 64c18c8be6756fc0130d3fe934edb1ea7758877d4049c5729fa2adb05abb3af4e4bbe1d5f910224e16070aada5470637a35ed14b12391efd48cf035e8a22a949
55462077fd
GUI: Options: Remove the upper-bound limit from pruning size setting
Hypothetically, someone may wish to begin pruning at a future blockchain size, and there's no reason to limit it lower
Github-Pull: #15801
Rebased-From: 8a33f4d63f9944f4877b3e2814b1582e72ceaa71
Tree-SHA512: 814dc5f004c3418216a12f8e0ef1a8db2c586d98b515d48b31a8ccd7f4e0deb12b9f2b6110bf702576a32802ca1d30e518df5ad7c28046deb4d0e9be46a6e7b8
8602d8b213 Revert "Change in transaction pull scheduling to prevent InvBlock-related attacks" (Suhas Daftuar)
Pull request description:
This is for 0.18, not master -- I propose we revert the getdata change for the 0.18 release, rather than try to continue patching it up. It seems like we've turned up several additional bugs that slipped through initial review (see #15776, #15834), and given the potential severe consequences of these bugs I think it'd make more sense for us to delay releasing this code until 0.19.
Since the bugfix PRs are getting review, I think we can leave #14897 in master, but we can separately discuss if it should be reverted in master as well if anyone thinks that would be more appropriate.
ACKs for commit 8602d8:
Tree-SHA512: 0389cefc1bc74ac47f87866cf3a4dcfe202740a1baa3db074137e0aa5859672d74a50a34ccdb7cf43b3a3c99ce91e4ba1fb512d04d1d383d4cc184a8ada5543f
doc: 0.18: Remove TODO from release notesfad9eb1014
Merge #15852: doc: 0.18: Remove TODO from release notes
fad9eb1014 doc: 0.18: Remove TODO from release notes (MarcoFalke)
Pull request description:
Also, remove section that no longer applies after #15839
ACKs for commit fad9eb:
Tree-SHA512: 259cbaa313cd6cce0f83a577527612314b484e77c7001fe56a21553dc0e446d9aa2bdf1129e546f9c4c142fa3cf4479d72d4561ee553a8a6e9d5453061813a3c
This helps to distinguish it from CNode::fRelayTxes and avoid bugs like
425278d17bd0edf8a3a7cc81e55016f7fd8e7726
Github-Pull: #15990
Rebased-From: fa1dce7329d3e74d46ab98b93772b1832a3f1819
9c1a607a09
test: Format predicate source as multiline on error
Doc: remove text about txes always relayed from -whitelist
Updates text since -whitelistforcerelay was set to false by default in
PR #15193.
Github-Pull: #15890
Rebased-From: e0bb2799992afe88e6f4efc6d90ed82ddf1ec5ec
eb85ee62b3
Install bitcoin-wallet manpage.
This change marks the already-existing bitcoin-wallet.1 manpage file for
installation together with the others. Previously, only bitcoind.1,
bitcoin-cli.1, bitcoin-tx.1 and bitcoin-qt.1 would be installed.
Github-Pull: #15947
Rebased-From: 00d110463aed12ecdc6e9c2bf47d9ef61d19fa9d
a635377b62
Show loaded wallets as disabled in open menu instead of nothing
Merge #16189: 0.18: Backport "Add -ignorepartialspends to list of ignored wallet options"
106471d0d710a957280c36862df222657ace17f5 Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options (Luke Dashjr)
206c30f6d7ff9fbcdb0f0b882e8da54870f8ee73 dummywallet: Reformat ignored wallet options list (MarcoFalke)
Pull request description:
First run clang-format on the wallet options list (review with `--word-diff-regex=.`). This is not a backport.
Then backport Github-Pull: #15913
ACKs for commit 106471:
promag:
ACK 106471d.
laanwj:
ACK 106471d0d710a957280c36862df222657ace17f5
Tree-SHA512: 3e6eb7997aa32ef7385842614bac8cac56f86b6dde949cfbbd33b4387e713bf5f65e40ee3e4228ac43dfe50829169175b80ddeaac8a714ad8a38175638123f5d
9c29bc71dc
gui: Enable open wallet menu on setWalletController
The RPC examples for signrawtransactionwithkey are missing the 2nd parameter.
Github-Pull: #16210
Rebased-From: 71fd628adafdeb2a4b343e0d51d7168cdb186312
Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
When converttopsbt is called with a signed transaction, it either fails with "TX decode failed" if one or more inputs were segwit, or "Inputs must not have scriptSigs and scriptWitnesses" otherwise.
Since no effort is made by the test to ensure the inputs are segwit or not, avoid checking the exact message used.
The error code is still checked to ensure it is of the correct kind of failure.
Github-Pull: #14818
Rebased-From: 097c4aa379f255639ce0084702693fa72a595d6b
966d8d0842
Bugfix: test/functional/rpc_psbt: Correct test description comment
This removes the dependency on OpenSSL for the interaction tests, by providing a pure-Python
toy implementation of secp256k1.
Github-Pull: #15826
Rebased-From: 8c7b9324ca3f3ffb178bea56a96ea23f7e0383cb
d9fc969e71
Make and get the multisig redeemscript and destination in one function instead of two
Instead of creating a redeemScript with CreateMultisigRedeemscript and
then getting the destination with AddAndGetDestinationForScript, do
both in the same function.
CreateMultisigRedeemscript is changed to AddAndGetMultisigDestination.
It creates the redeemScript and returns it via an output parameter. Then
it calls AddAndGetDestinationForScript to add the destination to the
keystore and get the proper destination.
This allows us to inspect the public keys in the redeemScript before creating
the destination so that the correct destination is used when uncompressed
pubkeys are in the multisig.
Github-Pull: #16026
Rebased-From: a49503402b6bc21e3878e151c07529941d36aed0
e78007fc1a
gui: Fix open wallet menu initialization order
The menu must be created before connecting to aboutToShow signal.
Github-Pull: #16231
Rebased-From: 5224be5a3354e1a22ea4d7f0e40aadfccdf67064
2800b3d5c1
Set AA_EnableHighDpiScaling attribute early
Qt docs: This attribute must be set before QGuiApplication is
constructed.
Github-Pull: #16254
Rebased-From: 099e4b9ad3d9967051d5c3d45c6315d1b30fea05
See also: dddd1d05d3df06865f5e0b1442d7425c0955de4e
bcb27d7b03
Merge #16035: 0.18.1: Backports
bcb27d7b0 .python-version: Bump to 3.5.6 (MarcoFalke)
af25a757e Add comments to Python ECDSA implementation (John Newbery)
715da91e9 Set AA_EnableHighDpiScaling attribute early (Hennadii Stepanov)
2800b3d5c gui: Fix open wallet menu initialization order (João Barbosa)
e78007fc1 Make and get the multisig redeemscript and destination in one function instead of two (Andrew Chow)
d9fc969e7 Pure python EC (Pieter Wuille)
23ba460c1 test: Add test that addmultisigaddress fails for watchonly addresses (MarcoFalke)
13b3bb564 test: Fixup creatmultisig documentation and whitespace (MarcoFalke)
79745d175 Replace remaining fprintf with tfm::format manually (MarcoFalke)
beb09f09b scripted-diff: Replace fprintf with tfm::format (MarcoFalke)
e29aa6e72 Exceptions should be caught by reference, not by value. (Kristaps Kaupe)
f88959ba7 tinyformat: Add doc to Bitcoin Core specific strprintf (MarcoFalke)
0023c9789 rpc: bugfix: Properly use iswitness in converttopsbt (MarcoFalke)
832eb4ff5 Bugfix: test/functional/rpc_psbt: Correct test description comment (Luke Dashjr)
966d8d084 Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions (Luke Dashjr)
bb36ac82e rpc: Switch touched RPCs to IsValidNumArgs (MarcoFalke)
d24d0ec05 Add example 2nd arg to signrawtransactionwithkey (Chris Moore)
592016ba1 fixup: Fix prunning test (João Barbosa)
c80a498ae Fix RPC/pruneblockchain returned prune height (Jonas Schnelli)
b2398240f gui: Enable open wallet menu on setWalletController (João Barbosa)
d1f261150 Add test for GCC bug 90348 (Pieter Wuille)
d80c558e0 gui: Set progressDialog to nullptr (João Barbosa)
7ed1a6019 gui: Enable console line edit on setClientModel (João Barbosa)
b55cbe82d qt: fix opening bitcoin.conf via Preferences on macOS; see #15409 (shannon1916)
b6c1f9478 Disallow extended encoding for non-witness transactions (take 3) (MarcoFalke)
86031083c Add test for superfluous witness record in deserialization (Gregory Sanders)
5a58ddb6d Fix missing input template by making minimal tx (Gregory Sanders)
206f5ee87 Disallow extended encoding for non-witness transactions (Pieter Wuille)
3dbc7def0 Show loaded wallets as disabled in open menu instead of nothing (MeshCollider)
a635377b6 Install bitcoin-wallet manpage. (Daniel Kraft)
eb85ee62b Doc: remove text about txes always relayed from -whitelist (David A. Harding)
890a92eba doc: Mention blocksonly in reduce-traffic.md, unhide option (MarcoFalke)
3460555f4 test: Add test for p2p_blocksonly (MarcoFalke)
8f215c7a2 test: Format predicate source as multiline on error (MarcoFalke)
9c1a607a0 net: Rename ::fRelayTxes to ::g_relay_txes (MarcoFalke)
5935f0126 build with -fstack-reuse=none (MarcoFalke)
Pull request description:
Tree-SHA512: 5cd73a4319cb69c92b528239cf97c0ed5fcf2b9e8c7fe154e4679eeec95db433a0223d8dc574e4cdc96c1913cfdf160b10c42dcdbcb5bbc8fb743c07930ef9da
629c7b029c
signrawtransactionwithkey: report error when missing redeemScript/witnessScript param
Merge #16342: 0.18 backport: report error when missing redeemScript/witnessScript
1dc357dab signrawtransactionwithkey: report error when missing redeemScript/witnessScript param (Anthony Towns)
Pull request description:
Backport of #16250 which fixes regression introduced in 0.18 in relation to signrawtransactionwithkey error handling (see #16249).
Tree-SHA512: 0d75fa2aa578b886ace3bda92a02e25993f9f51d41db8c0eb3013bd77d266c45ad8b67dd0ed11c66533724f892be4e254edeb59fa70585ff762f522791fcca36
df695db3237571c662a4e199709f9c6615ffa0c5 qt: Assert QMetaObject::invokeMethod result (João Barbosa)
e2f7677bdeb15d1517520ddc3e95e42ca13f721a gui: Fix missing qRegisterMetaType(WalletModel*) (João Barbosa)
Pull request description:
ACKs for top commit:
hebasto:
ACK df695db3237571c662a4e199709f9c6615ffa0c5, I have not tested the code, but I have reviewed it and it looks OK, I agree it can be merged.
laanwj:
ACK df695db3237571c662a4e199709f9c6615ffa0c5
Tree-SHA512: 5ce162e59331f6da8ae9ba41eff809881442fab93d65362b5f67aba19da76a72362f0daba9ad1f909478bf26f2daf53b110a0486d7b29b23b3716a7cd7177922
410774ab89
fix: tor: Call event_base_loopbreak from the event's callback
Merge #16406: 0.18: fix: tor: Call event_base_loopbreak from the event's callback
b2711b98bdc0dc220500a4b3ca94dfb97c4d17f2 fix: tor: Call event_base_loopbreak from the event's callback (João Barbosa)
Pull request description:
Github-Pull: #16405
Rebased-From: a981e749e6553487cd48eda28e590f769e81c85c
ACKs for top commit:
laanwj:
ACK b2711b98bdc0dc220500a4b3ca94dfb97c4d17f2, code change is the same as for master
fanquake:
ACK b2711b98bdc0dc220500a4b3ca94dfb97c4d17f2
Tree-SHA512: 9f225e505c0241be422ed897f56aef6ebad57e15d3bfe5154c7fe4f874df342e0df287871cd737eb777d0f45865a6d129cd5d1a4c036ea0a4e5d4f36520ab174
3f76160087
net: Make poll in InterruptibleRecv only filter for POLLIN events.
poll should block until there is data to be read or the timeout expires.
Filtering for the POLLOUT event causes poll to return immediately which leads to high CPU usage when trying to connect to non-responding peers through tor.
Removing POLLOUT matches how select is used when USE_POLL isn't defined.
Github-Pull: #16412
Rebased-From: a52818cc5633494992da7d1dc8fdb04b4a1b7c29
Tree-SHA512: eaf466630ba9d2a2a7443c9679c83c2cb13e779a5948f409cddb4c48cf32126ac68f3de48e394f9302e99858efa17cdb14650751a1b55c3b79e8a7507cab352d
Doc: remove old release notes about systemd and riscv changes5f5b444cc0
Merge #16532: [0.18] Doc: remove old release notes about systemd and riscv changes
5f5b444cc02190352312021c736d88c925731d90 Doc: remove old release notes about systemd and riscv changes (David A. Harding)
Pull request description:
Removes these two paragraphs that were part of the 0.18.0 release notes but which I don't think need to be repeated for the 0.18.1 release notes. The systemd release note in particular links to a section that isn't part of the document.
ACKs for top commit:
practicalswift:
ACK 5f5b444cc02190352312021c736d88c925731d90
laanwj:
ACK 5f5b444cc02190352312021c736d88c925731d90
fanquake:
ACK 5f5b444cc02190352312021c736d88c925731d90 - this should be fine.
Tree-SHA512: 3930b832eeed1f938cd6423dd9ac1e02ab7bb4fc218f433551fa995f40b84e8f2af5755ca4bf56caccdc742b6884bc79b381c9bdb3ad90e99ca90011d9e12665
No changes, only the month changed from July to August.
Tree-SHA512: c8f672f3a6e570ea1feda2c2f17d30da8a04b705d990bf5aec8e09da5937f3f9a608f4f50941f183c536a4158001b13d149bd0c873a24eae48ae57d96cd274c8
Merge #16610: [0.18] travis: Bump timeout from 50 minutes to 90, caching fixes
80cd3f0ba68ccba333f0bd5241c34f2f22cf1c48 travis: Bump timeout from 50 minutes to 90 (MarcoFalke)
5aac5e9b0311e41bd3c6a07d065eae0c47004814 travis: Bump second timeout to 33 minutes, Add rationale (MarcoFalke)
2c341e3471d300b940b83f0bb90b6bcee2fa5d38 travis: Properly cache and error on timeout (MarcoFalke)
Pull request description:
ACKs for top commit:
fanquake:
ACK 80cd3f0ba68ccba333f0bd5241c34f2f22cf1c48 - assuming Travis is happy.
Tree-SHA512: d903bff9407d0e07d81037f667645263ad96852ea66a1d9118365444a332e1bf8f5973ecf5ef862a9759614377409c12619a80b638bd6cde2695d6fb6532ff83
43cf76b193
[rpc] walletcreatefundedpsbt: use wallet default RBFee950ec465
[doc] rpc: remove "fallback to" from RBF default help0942a60c06
[test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0576580fe8a
Merge #16608: [0.18] Backport #15911: Use wallet RBF default for walletcreatefundedpsbt
576580fe8a063f21c0e903af1cf8f85cd6cb71d7 [test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0 (Sjors Provoost)
0942a60c06ab4bde275369e7b7bd1caa3b20778e [doc] rpc: remove "fallback to" from RBF default help (Sjors Provoost)
ee950ec465b616b1f7dd14df8f77c66a817c0b64 [rpc] walletcreatefundedpsbt: use wallet default RBF (Sjors Provoost)
Pull request description:
Backport of #15911 for 0.18 branch.
The original PR changed `rawtransaction_util.cpp`, whereas the backport changes `rawtransaction.cpp` to avoid having to also backport #15638.
ACKs for top commit:
meshcollider:
re-utACK 576580fe8a063f21c0e903af1cf8f85cd6cb71d7
MarcoFalke:
ACK 576580fe8a063f21c0e903af1cf8f85cd6cb71d7
Tree-SHA512: 51c40fc4db4f8739e93e931aeac572779d5ade0bfeb3bcb0082301cf73b4f48e31d4ccbe40421dc65d0ec091d6393685c0c9b8f76584c59249f13642e80a6da5
00ffe5aca1
0.18: [wallet] abort when attempting to fund a transaction above maxtxfee
FundTransaction calls GetMinimumFee which, when the fee rate is absurdly high, quietly reduced the fee to -maxtxfee. Becaue an absurdly high fee rate is usually the result of a fat finger, aborting seems safer behavior.
Github-Pull: #16257
Rebased-From: 806b0052c3b45415862f74f20ba5f389e5b673de
8f354ced6e
0.18: wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction
Merge #16414: 0.18: wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction
d3b3bb8c9fb3a2ff1cd3a8776552c649aaf19dc2 0.18: test: Add test for maxtxfee option (MarcoFalke)
a11dbaa547ec01e7e11ca4dbe2433e7d987c82bb 0.18: wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction (João Barbosa)
8f354ced6e34247477c1b1a56d34e613f6104f0e 0.18: [wallet] abort when attempting to fund a transaction above maxtxfee (Sjors Provoost)
Pull request description:
Backports #16322 and #16257.
ACKs for top commit:
Sjors:
re-ACK d3b3bb8c9fb3a2ff1cd3a8776552c649aaf19dc2
MarcoFalke:
ACK d3b3bb8c9fb3a2ff1cd3a8776552c649aaf19dc2 (did the backport myself, arrived at the same result)
Tree-SHA512: 8b0ca15fc7e893af80239afecf8ff1018d6f249f2fa530babe61ec34ede6103b9b60909259abb730ebf1d54789aceed94b136600158dc3d6c5505b07f28189e5
3b04221183
doc: Fix typos in COPYRIGHT
Fixed a couple of typos
Github-Pull: #16615
Rebased-From: 36f7697cf6c129cabff2a698a52115829cd0d1fb
QApplication takes the command line arguments and parses them itself
for some built in command line arguments that it has. We don't want
any of those built in arguments, so instead give it dummy arguments.
Github-Pull: #16578
Rebased-From: a2714a5c69f0b0506689af04c3e785f71ee0915d
Needed for builds configured with --enable-upnp-default
Github-Pull: #16646
Rebased-From: b168dd30cf71ac176e271bc610b0b1a79ceaf075
9fe8d283e0
torcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently
Currently, the hidden service is published on the same port as the public listening port.
But if a non-standard port is configured, this can be used to guess (pretty reliably) that the public IP and the hidden service are the same node.
Github-Pull: #15651
Rebased-From: 8a2656702b4b5d53d1b8343c3215302e4305a038
Fixes: #16803
I opened an [upstream PR](https://github.com/autoconf-archive/autoconf-archive/pull/197) to improve the Boost error reporting, so pull the latest macros.
Github-Pull: #16870
Rebased-From: bb99c4e684bbd3053ecf7a789049b11b29260189
3b8af5f383
build: Factor out qt translations from build system
Move qt translations to a separate make include file.
This makes it easier to auto-generate this list from tooling
(see bitcoin-core/bitcoin-maintainer-tools#36).
Github-Pull: #16982
Rebased-From: 4320bfc0c0d88633c84146f8d640f5b6e4596244
ac30fc4f59
util: Filter control characters out of log messages
Belts and suspenders: make sure outgoing log messages don't contain
potentially suspicious characters, such as terminal control codes.
This escapes control characters except newline ('\n') in C syntax.
It escapes instead of removes them to still allow for troubleshooting
issues where they accidentally end up in strings.
Github-Pull: #17095
Rebased-From: d7820a1250070f3640246ae497e049bee0b3516f
0b18ea6f57
Merge #16617: [0.18.2] Backports
0b18ea6f570e24c9719c10eb6e125da743409c58 util: Filter control characters out of log messages (Wladimir J. van der Laan)
ac30fc4f599b28fc09a854bf2d2940fe2eb5fcdf build: Factor out qt translations from build system (Wladimir J. van der Laan)
3b8af5f3838bb124f5f59dbaa4c553a6ad8e7c98 build: update boost macros to latest upstream (fanquake)
b12defc3bc7ba68a86c053138d29d942b81af805 Test that joinpsbts randomly shuffles the inputs (Andrew Chow)
eb07d22b2d3ec70203412a7746b0ec73217cc974 Shuffle inputs and outputs after joining psbts (Andrew Chow)
1175410be5959f783f0a5276451b775dc340e420 addrdb: Remove temporary files created in SerializeFileDB. Fixes non-determinism in unit tests. (practicalswift)
c52dd120fd6498ee73b7652e3b0e5380124a5502 Handle the result of posix_fallocate system call (Luca Venturini)
f792b25d1487efdfab4d78c96755a73d978abcc4 torcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently (Luke Dashjr)
9fe8d283e01ed3d721591fbc7f8326ceb6d706ff Bugfix: QA: Run tests with UPnP disabled (Luke Dashjr)
1d12e52db0f325f7d5239c117e3662db7a8966ad Add vertical spacer (Josu Goñi)
d764141b01d8a4827b366f6264b3c87a114a710b depends: add patch to common dependencies (fanquake)
56815e9e12cb90eae160634e3c9c3515cf145dd1 Give QApplication dummy arguments (Andrew Chow)
9d389d09ed5db1a2dda00ba999b02d38186b6af4 util: No translation of `Bitcoin Core` in the copyright (MarcoFalke)
87908e9c98f2bc6975d70d8f427a9be965effc3b scripted-diff: Avoid passing PACKAGE_NAME for translation (MarcoFalke)
a44e18f20b720ec9d3bef3640ef1c1d3730e2292 build: Stop translating PACKAGE_NAME (MarcoFalke)
7bd8f4e4321b73a9d55926778655310de0166bac rpc: Fix getblocktemplate CLI example (#16594) (Emil Engler)
1cc06a1b6753362e690dc18f79ad177d5f8a87c2 doc: Fix typos in COPYRIGHT (Chuf)
Pull request description:
Backports some commits to the `0.18` branch:
* #16596 - rpc: Fix getblocktemplate CLI example
* #16615 - doc: Fix typos in COPYRIGHT
* #16291 - gui: Stop translating PACKAGE_NAME (without the `make translate` commit)
* #16578 - Do not pass in command line arguments to QApplication
* #16051 - depends: add patch to common dependencies
* #16090 - Add vertical spacer
* #15651 - torcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently
* #15650 - Handle the result of posix_fallocate system call
* #16646 - Bugfix: QA: Run tests with UPnP disabled
* #16212 - addrdb: Remove temporary files created in SerializeFileDB. Fixes non-determinism in unit tests.
* #16512 - rpc: Shuffle inputs and outputs after joining psbts
* #16870 - build: update boost macros to latest upstream for improved error reporting
* #16982 - build: Factor out qt translations from build system
* #17095 - util: Filter control characters out of log messages
ACKs for top commit:
laanwj:
ACK 0b18ea6f570e24c9719c10eb6e125da743409c58
Tree-SHA512: 37f0e5afc20975f4d1506e8662eda2ae0125f2f424a852818b5af2c3b8db78fc1c365b83571aa80ca63c885ca314302190b891a50ff3851fda9b9238455a5627
The first argument in bin_PROGRAMS (bitcoind) was being silently
dropped and never passed into the check-security.py or check-symbols.py scripts.
This has been the case since the scripts were added to the makefile in
https://github.com/bitcoin/bitcoin/commit/f3d3eaf78eb51238d799d8f20a585550d1567719.
Example of the behavior:
```python
# touch a, touch b, touch c
# python3 args.py < a b c
import sys
if __name__ == '__main__':
print(sys.argv)
# ['args.py', 'b', 'c']
# if you add some lines to "a",
# you'll see them here..
for line in sys.stdin:
print(line)
```
Github-Pull: #17857
Rebased-From: 71af793512100ee7d508c3fb815af47925fe80ba
9a0ebb7f029a1389b680b26a2c3c0529f5ddb07e scripts: fix check-symbols & check-security argument passing (fanquake)
Pull request description:
Backport of https://github.com/bitcoin/bitcoin/pull/17857.
The first argument in bin_PROGRAMS (bitcoind) was being silently
dropped and never passed into the check-security.py or check-symbols.py scripts.
This has been the case since the scripts were added to the makefile in
https://github.com/bitcoin/bitcoin/commit/f3d3eaf78eb51238d799d8f20a585550d1567719.
Example of the behavior:
```python
# touch a, touch b, touch c
# python3 args.py < a b c
import sys
if __name__ == '__main__':
print(sys.argv)
# ['args.py', 'b', 'c']
# if you add some lines to "a",
# you'll see them here..
for line in sys.stdin:
print(line)
```
Github-Pull: #17857
Rebased-From: 71af793512100ee7d508c3fb815af47925fe80ba
Top commit has no ACKs.
Tree-SHA512: 0dc5dc4efc11a98e85e30bae7acd6e8139673dec28ea7c3151c03f9e30145faf91af2cf707659b46e120dda42e254355c669451c6bf4d93467d061568e1b2c11
a05d14d4a0
net: Log to net category for exceptions in ProcessMessages
Remove the forest of special exceptions, and simply log a short
message to the NET logging category when an exception happens during
packet processing. It is not good to panick end users with errors
that any peer can generate (let alone writing to stderr).
Github-Pull: #17762
Rebased-From: 4d88c3dcb61e7c075ed3dd442044e0eff4e3c8de
c89611ebd3
Merge #17974: [0.18] net: Log to net category for exceptions in ProcessMessages
c89611ebd33a86c0fe14adecc100065f16ea16da net: Log to net category for exceptions in ProcessMessages (Wladimir J. van der Laan)
Pull request description:
Backport of #17762, currently only backported to 0.19.
This seems like something we should opportunistically plug in case wiseguys decide it's a vector to exploit to try and fill people's disks.
ACKs for top commit:
practicalswift:
ACK c89611ebd33a86c0fe14adecc100065f16ea16da
MarcoFalke:
ACK c89611ebd33a86c0fe14adecc100065f16ea16d, checked that this is a cherry-pick from 0.19 💐
Tree-SHA512: e48daf64a14d98a78cadd0774a597e5833a1ff19f05527dfc42f3cc38532c1c3bd1acd925c8e0c484e01fbc8c604ee2bcfc0cec0333e9af570b103a6241b657d
8b67698420
DrahtBot added the label Build system on Jan 1, 2022
DrahtBot added the label Descriptors on Jan 1, 2022
DrahtBot added the label GUI on Jan 1, 2022
DrahtBot added the label interfaces on Jan 1, 2022
DrahtBot added the label Mining on Jan 1, 2022
DrahtBot added the label P2P on Jan 1, 2022
DrahtBot added the label RPC/REST/ZMQ on Jan 1, 2022
DrahtBot added the label Scripts and tools on Jan 1, 2022
DrahtBot added the label TX fees and policy on Jan 1, 2022
DrahtBot added the label Utils/log/libs on Jan 1, 2022
DrahtBot added the label Validation on Jan 1, 2022
DrahtBot added the label Wallet on Jan 1, 2022
DrahtBot added the label Needs rebase on Jan 1, 2022
DrahtBot
commented at 7:14 PM on January 1, 2022:
member
<!--cf906140f33d8803c4a75a2196329ecb-->
🐙 This pull request conflicts with the target branch and needs rebase.
<sub>Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".</sub>
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-04-21 18:14 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me