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
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
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: 71af793512100ee7d508c3fb815af47925fe80ba
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: 71af793512100ee7d508c3fb815af47925fe80ba
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
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
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
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
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
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
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
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
No changes, only the month changed from July to August.
Tree-SHA512: c8f672f3a6e570ea1feda2c2f17d30da8a04b705d990bf5aec8e09da5937f3f9a608f4f50941f183c536a4158001b13d149bd0c873a24eae48ae57d96cd274c8
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
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
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
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
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