c89611ebd3 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 c89611ebd3
MarcoFalke:
ACK c89611ebd3, checked that this is a cherry-pick from 0.19 💐
Tree-SHA512: e48daf64a14d98a78cadd0774a597e5833a1ff19f05527dfc42f3cc38532c1c3bd1acd925c8e0c484e01fbc8c604ee2bcfc0cec0333e9af570b103a6241b657d
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: 4d88c3dcb6
9a0ebb7f02 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
f3d3eaf78e.
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: 71af793512
Top commit has no ACKs.
Tree-SHA512: 0dc5dc4efc11a98e85e30bae7acd6e8139673dec28ea7c3151c03f9e30145faf91af2cf707659b46e120dda42e254355c669451c6bf4d93467d061568e1b2c11
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
f3d3eaf78e.
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: 71af793512
0b18ea6f57 util: Filter control characters out of log messages (Wladimir J. van der Laan)
ac30fc4f59 build: Factor out qt translations from build system (Wladimir J. van der Laan)
3b8af5f383 build: update boost macros to latest upstream (fanquake)
b12defc3bc Test that joinpsbts randomly shuffles the inputs (Andrew Chow)
eb07d22b2d Shuffle inputs and outputs after joining psbts (Andrew Chow)
1175410be5 addrdb: Remove temporary files created in SerializeFileDB. Fixes non-determinism in unit tests. (practicalswift)
c52dd120fd Handle the result of posix_fallocate system call (Luca Venturini)
f792b25d14 torcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently (Luke Dashjr)
9fe8d283e0 Bugfix: QA: Run tests with UPnP disabled (Luke Dashjr)
1d12e52db0 Add vertical spacer (Josu Goñi)
d764141b01 depends: add patch to common dependencies (fanquake)
56815e9e12 Give QApplication dummy arguments (Andrew Chow)
9d389d09ed util: No translation of `Bitcoin Core` in the copyright (MarcoFalke)
87908e9c98 scripted-diff: Avoid passing PACKAGE_NAME for translation (MarcoFalke)
a44e18f20b build: Stop translating PACKAGE_NAME (MarcoFalke)
7bd8f4e432 rpc: Fix getblocktemplate CLI example (#16594) (Emil Engler)
1cc06a1b67 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 0b18ea6f57
Tree-SHA512: 37f0e5afc20975f4d1506e8662eda2ae0125f2f424a852818b5af2c3b8db78fc1c365b83571aa80ca63c885ca314302190b891a50ff3851fda9b9238455a5627
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: d7820a1250
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: 4320bfc0c0
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: 8a2656702b
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: a2714a5c69
d3b3bb8c9f 0.18: test: Add test for maxtxfee option (MarcoFalke)
a11dbaa547 0.18: wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction (João Barbosa)
8f354ced6e 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 d3b3bb8c9f
MarcoFalke:
ACK d3b3bb8c9f (did the backport myself, arrived at the same result)
Tree-SHA512: 8b0ca15fc7e893af80239afecf8ff1018d6f249f2fa530babe61ec34ede6103b9b60909259abb730ebf1d54789aceed94b136600158dc3d6c5505b07f28189e5
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: 806b0052c3
576580fe8a [test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0 (Sjors Provoost)
0942a60c06 [doc] rpc: remove "fallback to" from RBF default help (Sjors Provoost)
ee950ec465 [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 576580fe8a
MarcoFalke:
ACK 576580fe8a
Tree-SHA512: 51c40fc4db4f8739e93e931aeac572779d5ade0bfeb3bcb0082301cf73b4f48e31d4ccbe40421dc65d0ec091d6393685c0c9b8f76584c59249f13642e80a6da5
No changes, only the month changed from July to August.
Tree-SHA512: c8f672f3a6e570ea1feda2c2f17d30da8a04b705d990bf5aec8e09da5937f3f9a608f4f50941f183c536a4158001b13d149bd0c873a24eae48ae57d96cd274c8
5f5b444cc0 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 5f5b444cc0
laanwj:
ACK 5f5b444cc0
fanquake:
ACK 5f5b444cc0 - this should be fine.
Tree-SHA512: 3930b832eeed1f938cd6423dd9ac1e02ab7bb4fc218f433551fa995f40b84e8f2af5755ca4bf56caccdc742b6884bc79b381c9bdb3ad90e99ca90011d9e12665
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: a52818cc56
Tree-SHA512: eaf466630ba9d2a2a7443c9679c83c2cb13e779a5948f409cddb4c48cf32126ac68f3de48e394f9302e99858efa17cdb14650751a1b55c3b79e8a7507cab352d
b2711b98bd fix: tor: Call event_base_loopbreak from the event's callback (João Barbosa)
Pull request description:
Github-Pull: #16405
Rebased-From: a981e749e6
ACKs for top commit:
laanwj:
ACK b2711b98bd, code change is the same as for master
fanquake:
ACK b2711b98bd
Tree-SHA512: 9f225e505c0241be422ed897f56aef6ebad57e15d3bfe5154c7fe4f874df342e0df287871cd737eb777d0f45865a6d129cd5d1a4c036ea0a4e5d4f36520ab174
df695db323 qt: Assert QMetaObject::invokeMethod result (João Barbosa)
e2f7677bde gui: Fix missing qRegisterMetaType(WalletModel*) (João Barbosa)
Pull request description:
ACKs for top commit:
hebasto:
ACK df695db323, I have not tested the code, but I have reviewed it and it looks OK, I agree it can be merged.
laanwj:
ACK df695db323
Tree-SHA512: 5ce162e59331f6da8ae9ba41eff809881442fab93d65362b5f67aba19da76a72362f0daba9ad1f909478bf26f2daf53b110a0486d7b29b23b3716a7cd7177922
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