0) Adjust BIP30 enforcement values
1) Reduce amount that peers can adjust our time to eliminate an attack vector. Thanks to
coblee for this fix.
2) Zeitgeist2 patch - thanks to Lolcust and ArtForz. This fixes an issue where a
51% attack can change difficulty at will. Go back the full period unless it's the
first retarget after genesis.
3) Avoid overflow in CalculateNextWorkRequired(). Thanks to pooler for the overflow fix.
4) Zeitgeist2 bool fshift bnNew.bits(). Thanks to romanornr for this path.
5) SegWit ContextualCheckBlockHeader adjustment and extra coverage.
6) Reject peer proto version below 70002. Thanks to wtogami for this patch.
7) Send final alert message to nodes warning about removal of the alert system. Thanks to coblee for this patch.
8) Adjust default settings for Litecoin.
9) Adjust STALE_CHECK_INTERVAL value
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
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