Commit graph

19911 commits

Author SHA1 Message Date
fanquake 8b67698420
Merge #17974: [0.18] net: Log to net category for exceptions in ProcessMessages
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
2020-01-23 10:07:40 +08:00
Wladimir J. van der Laan c89611ebd3 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: 4d88c3dcb6
2020-01-22 11:54:37 -05:00
fanquake a05d14d4a0
Merge #17881: [0.18] scripts: fix check-symbols & check-security argument passing
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
2020-01-12 20:20:26 +08:00
fanquake 9a0ebb7f02
scripts: fix check-symbols & check-security argument passing
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
2020-01-06 15:55:35 +08:00
Wladimir J. van der Laan 29d70264fb
Merge #16617: [0.18.2] Backports
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
2019-11-25 16:42:22 +01:00
Wladimir J. van der Laan 0b18ea6f57
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: d7820a1250
2019-10-19 14:58:27 -04:00
Wladimir J. van der Laan ac30fc4f59
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: 4320bfc0c0
2019-10-01 11:29:36 +08:00
fanquake 3b8af5f383
build: update boost macros to latest upstream
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: bb99c4e684
2019-10-01 11:29:30 +08:00
Andrew Chow b12defc3bc
Test that joinpsbts randomly shuffles the inputs
Github-Pull: #16512
Rebased-From: c0b5d97103
2019-09-24 07:53:29 +08:00
Andrew Chow eb07d22b2d
Shuffle inputs and outputs after joining psbts
Github-Pull: #16512
Rebased-From: 6f405a1d3b
2019-09-24 07:53:29 +08:00
practicalswift 1175410be5
addrdb: Remove temporary files created in SerializeFileDB. Fixes non-determinism in unit tests.
Github-Pull: #16212
Rebased-From: d9753383b9
2019-09-24 07:53:29 +08:00
Luca Venturini c52dd120fd
Handle the result of posix_fallocate system call
Github-Pull: #15650
Rebased-From: 5d35ae3326
2019-09-24 07:53:29 +08:00
Luke Dashjr f792b25d14
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: 8a2656702b
2019-09-24 07:53:29 +08:00
Luke Dashjr 9fe8d283e0
Bugfix: QA: Run tests with UPnP disabled
Needed for builds configured with --enable-upnp-default

Github-Pull: #16646
Rebased-From: b168dd30cf
2019-09-24 07:53:29 +08:00
Josu Goñi 1d12e52db0
Add vertical spacer
Github-Pull: #16090
Rebased-From: 36b0a2f2a6
2019-09-24 07:53:29 +08:00
fanquake d764141b01
depends: add patch to common dependencies
Github-Pull: #16051
Rebased-From: 4de3c15671
2019-09-24 07:53:28 +08:00
Andrew Chow 56815e9e12
Give QApplication dummy arguments
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
2019-09-24 07:53:28 +08:00
MarcoFalke 9d389d09ed
util: No translation of Bitcoin Core in the copyright
Github-Pull: #16291
Rebased-From: fa64b947bb
2019-09-24 07:53:28 +08:00
MarcoFalke 87908e9c98
scripted-diff: Avoid passing PACKAGE_NAME for translation
-BEGIN VERIFY SCRIPT-
sed -i --regexp-extended -e 's/\<\w+(::\w+)?\(PACKAGE_NAME\)/PACKAGE_NAME/g' $(git grep -l --extended-regexp '\<\w+(::\w+)?\(PACKAGE_NAME\)' src)
-END VERIFY SCRIPT-

Github-Pull: #16291
Rebased-From: fabe87d2c9
2019-09-24 07:53:28 +08:00
MarcoFalke a44e18f20b
build: Stop translating PACKAGE_NAME
Github-Pull: #16291
Rebased-From: fa5e9f157e
2019-09-24 07:53:28 +08:00
Emil Engler 7bd8f4e432
rpc: Fix getblocktemplate CLI example (#16594)
Github-Pull: #16596
Rebased-From: 14f7eec3bd
2019-09-24 07:53:28 +08:00
Chuf 1cc06a1b67
doc: Fix typos in COPYRIGHT
Fixed a couple of typos

Github-Pull: #16615
Rebased-From: 36f7697cf6
2019-09-24 07:53:27 +08:00
MarcoFalke 3b04221183
Merge #16414: 0.18: wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction
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
2019-09-23 09:33:23 -04:00
MarcoFalke d3b3bb8c9f 0.18: test: Add test for maxtxfee option
Github-Pull: #16322
Rebased-From: 0d101a340c
2019-08-25 02:51:50 +01:00
João Barbosa a11dbaa547 0.18: wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction
Github-Pull: #16322
Rebased-From: 5c1b9714cb
2019-08-25 02:51:07 +01:00
Sjors Provoost 8f354ced6e 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: 806b0052c3
2019-08-25 02:48:30 +01:00
MarcoFalke 00ffe5aca1
Merge #16608: [0.18] Backport #15911: Use wallet RBF default for walletcreatefundedpsbt
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
2019-08-19 08:28:00 -04:00
Sjors Provoost 576580fe8a
[test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0 2019-08-17 12:52:50 +02:00
Sjors Provoost 0942a60c06
[doc] rpc: remove "fallback to" from RBF default help 2019-08-17 12:52:50 +02:00
Sjors Provoost ee950ec465
[rpc] walletcreatefundedpsbt: use wallet default RBF 2019-08-17 12:52:50 +02:00
MarcoFalke 43cf76b193
Merge #16610: [0.18] travis: Bump timeout from 50 minutes to 90, caching fixes
80cd3f0ba6 travis: Bump timeout from 50 minutes to 90 (MarcoFalke)
5aac5e9b03 travis: Bump second timeout to 33 minutes, Add rationale (MarcoFalke)
2c341e3471 travis: Properly cache and error on timeout (MarcoFalke)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK 80cd3f0ba6 - assuming Travis is happy.

Tree-SHA512: d903bff9407d0e07d81037f667645263ad96852ea66a1d9118365444a332e1bf8f5973ecf5ef862a9759614377409c12619a80b638bd6cde2695d6fb6532ff83
2019-08-14 09:50:20 -04:00
MarcoFalke 80cd3f0ba6 travis: Bump timeout from 50 minutes to 90
Github-Pull: #16595
Rebased-From: fa1e9c68a7
2019-08-14 08:18:36 -04:00
MarcoFalke 5aac5e9b03 travis: Bump second timeout to 33 minutes, Add rationale
Github-Pull: #15797
Rebased-From: fa2dfbf30a
2019-08-14 08:18:23 -04:00
MarcoFalke 2c341e3471 travis: Properly cache and error on timeout
Github-Pull: #15693
Rebased-From: fa2056af1c
2019-08-14 08:18:06 -04:00
Wladimir J. van der Laan bbc2970082
doc: Clean out release notes post-0.18.1
Tree-SHA512: d03bee43f65b1837a4e157acb358716f2df08c8692c8f77f9531568a3da732684b7fae6e10cf8a88c353f8f8360dd6311d5e5c936c2a3d9e0f34dfaf5b727e76
2019-08-14 13:07:59 +02:00
Wladimir J. van der Laan fa27a07607
doc: Bump manpages pre-final
No changes, only the month changed from July to August.

Tree-SHA512: c8f672f3a6e570ea1feda2c2f17d30da8a04b705d990bf5aec8e09da5937f3f9a608f4f50941f183c536a4158001b13d149bd0c873a24eae48ae57d96cd274c8
2019-08-02 22:33:05 +02:00
Wladimir J. van der Laan bfa7183c4e
build: set CLIENT_VERSION_RC to 0 pre-final
Tree-SHA512: b74ff824278e6a4c4781c904e3f68295c76d9de79cc174a6e7127273295ef3fddb87de89143ceb76805e33b8c2dec77b3e6ae4bec97a3128d9908c065c7f95de
2019-08-02 22:25:19 +02:00
Wladimir J. van der Laan 673919caf7
Merge #16532: [0.18] Doc: remove old release notes about systemd and riscv changes
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
2019-08-02 22:14:47 +02:00
David A. Harding 5f5b444cc0
Doc: remove old release notes about systemd and riscv changes 2019-08-01 18:34:32 -10:00
Wladimir J. van der Laan 784e218610
doc: Update release notes for rc1
Tree-SHA512: e5422eaed5339327b600bfe07e5cdb1517bf6f3d9a39d27c9c59a68ceadbef398960c69630bc727f3f8d7330353e7823905f5107dba6d8827965565157cdeca1
2019-07-24 20:48:21 +02:00
Wladimir J. van der Laan a6cba19831
doc: Update manpages for rc1
Tree-SHA512: 805a6931e2bd059ee2da42634f687828a50b2ccd3a1ac0071cd626e9a2f52b7afc79af3c8f3d5b013a853d5e59068314e744a4694dceef598710f0694babbd99
2019-07-19 19:50:47 +02:00
Wladimir J. van der Laan aa2d12a592
build: Bump version to 0.18.1rc1
Tree-SHA512: f746d4cfda1eb433c4c99b8d80392ac2e905c1f39591eb5579a708129e3b1b36479a2da45221594713cf20069bde78c29a31cb10d39c7bc96544694d9832cda0
2019-07-19 19:42:06 +02:00
Wladimir J. van der Laan 641b2ffb45
qt: pre-rc1 translations update
Tree-SHA512: b97fd91b7ab1eb2297007a9821def31c065a2a33f12cf51fd5e5be5dff1e8afb4f5b001d220c3873d72ca5b06484ad2d1e2c8df5300770145de0dfebe56db303
2019-07-19 19:19:47 +02:00
tecnovert 063c8ce7a0
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: a52818cc56
Tree-SHA512: eaf466630ba9d2a2a7443c9679c83c2cb13e779a5948f409cddb4c48cf32126ac68f3de48e394f9302e99858efa17cdb14650751a1b55c3b79e8a7507cab352d
2019-07-19 17:59:01 +02:00
fanquake 3f76160087
Merge #16406: 0.18: fix: tor: Call event_base_loopbreak from the event's callback
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
2019-07-18 21:06:01 +08:00
João Barbosa b2711b98bd fix: tor: Call event_base_loopbreak from the event's callback
Github-Pull: #16405
Rebased-From: a981e749e6
2019-07-17 16:22:11 +01:00
Wladimir J. van der Laan 410774ab89
Merge #16359: 0.18: Backport "qt: Assert QMetaObject::invokeMethod result"
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
2019-07-10 12:06:19 +02:00
João Barbosa df695db323 qt: Assert QMetaObject::invokeMethod result
Github-Pull: #16348
Rebased-From: 64fee48944
2019-07-09 14:16:23 +01:00
João Barbosa e2f7677bde gui: Fix missing qRegisterMetaType(WalletModel*)
Github-Pull: #16348
Rebased-From: f27bd96b5f
2019-07-09 14:15:27 +01:00
fanquake 1fb747a800
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
2019-07-07 12:15:32 +08:00