Commit graph

21569 commits

Author SHA1 Message Date
João Barbosa
eafcea7a0a gui: Fix duplicate wallet showing up
The slot BitcoinGUI::addWallet can be invoked twice for the same
WalletModel due to a concurrent wallet being loaded after the first `connect()`:

```cpp
 connect(wallet_controller, &WalletController::walletAdded, this, &BitcoinGUI::addWallet);
 connect(wallet_controller, &WalletController::walletRemoved, this, &BitcoinGUI::removeWallet);

 for (WalletModel* wallet_model : m_wallet_controller->getOpenWallets()) {
     addWallet(wallet_model);
```

Github-Pull: #16963
Rebased-From: 6d6a7a8403ae923f189812edebdd95761de0e7f2
2020-01-14 09:34:35 +00:00
Russell Yanofsky
7e66d04770 Drop signal CClientUIInterface::LoadWallet
Github-Pull: #16963
Rebased-From: 81ea66c30e2953dee24d5b127c28daa0d9452a28
2020-01-14 09:34:35 +00:00
João Barbosa
179d55f052 zmq: Fix due to invalid argument and multiple notifiers
Github-Pull: #17445
Rebased-From: 3e730bf90aaf53c41ff3a778f6aac15d163d1c0c
2020-01-14 09:34:35 +00:00
Wladimir J. van der Laan
bb123c6527
Merge #17858: [0.19] Backports
99b54076ff scripts: fix check-symbols & check-security argument passing (fanquake)
4330a1ee7f Update msvc build for Visual Studio 2019 v16.4 (Aaron Clauson)
b0f9b8e648 Moves vcpkg list to a text file and updates the appveyor job and readme to use it. (Aaron Clauson)
cd7b3b254a Updated appveyor config:  - Update build image from Visual Studio 2017 to Visual Studio 2019.  - Updated Qt static library from Qt5.9.7 to Qt5.9.8.  - Added commands to update vcpkg port files (this does not update already installed packages).  - Updated vcpkg package list as per #17309.  - Removed commands setting common project file options. Now done via common.init.vcxproj include.  - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration. Updated msvc project configs:  - Updated platform toolset from v141 to v142.  - Updated Qt static library from Qt5.9.7 to Qt5.9.8.  - Added ignore for linker warning building bitcoin-qt program.  - Added missing util/str.cpp class file to test_bitcoin project file. (Aaron Clauson)
112144dc52 Add missing typeinfo includes (Wladimir J. van der Laan)
1a6a534665 net: Log to net category for exceptions in ProcessMessages (Wladimir J. van der Laan)
c0dc728206 test: fix bitcoind already running warnings on macOS (fanquake)
5276b0e5a2 util: Add missing headers to util/fees.cpp (Hennadii Stepanov)
4d7875c555 rpc: require second argument only for scantxoutset start action (Andrew Chow)
bda2f5b3c9 cli: fix Fatal LevelDB error when specifying -blockfilterindex=basic twice (Harris)
d14ab7c522 gui: disable File->CreateWallet during startup (fanquake)
b9f1bc0fc1 wallet: unbreak with boost 1.72 (Jan Beich)

Pull request description:

  Backports the following PRs to the 0.19 branch:
  * https://github.com/bitcoin/bitcoin/pull/17654 - Unbreak build with Boost 1.72.0
  * https://github.com/bitcoin/bitcoin/pull/17695 - gui: disable File->CreateWallet during startup
  * https://github.com/bitcoin/bitcoin/pull/17687 - cli: fix Fatal LevelDB error when specifying -blockfilterindex=basic twice
  * https://github.com/bitcoin/bitcoin/pull/17728 - rpc: require second argument only for scantxoutset start action
  * https://github.com/bitcoin/bitcoin/pull/17450 - util: Add missing headers to util/fees.cpp
  * https://github.com/bitcoin/bitcoin/pull/17488 - test: fix "bitcoind already running" warnings on macOS
  * https://github.com/bitcoin/bitcoin/pull/17762 - Log to net category for exceptions in ProcessMessages
  * https://github.com/bitcoin/bitcoin/pull/17364 - Updates to appveyor config for VS2019 and Qt5.9.8 + msvc project fixes
  * https://github.com/bitcoin/bitcoin/pull/17416 - Appveyor improvement - text file for vcpkg package list
  * https://github.com/bitcoin/bitcoin/pull/17736 - Update msvc build for Visual Studio 2019 v16.4
  * https://github.com/bitcoin/bitcoin/pull/17857 - scripts: fix symbol-check & security-check argument passing

  Fixes #17856.

ACKs for top commit:
  sipsorcery:
    ACK (tested: Windows 10 & msvc build) 99b54076ff.

Tree-SHA512: 91313de56fb0825e70a4be30ba0bf561b8c26d7dcf60549185df4f5e3524099398c828bb46faae807b631634d1afd5a1d397fb41e61ecfa0d746e4bf10b923cb
2020-01-08 15:12:25 +01:00
Wladimir J. van der Laan
fd4ec7c720
qt: Periodic translations update for 0.19 branch
Brings back `bitcoin_en` which was accidentally removed last time (see #17886).

Tree-SHA512: a4aaa6f22e9ad3e87952f2a87829d675158cb26ed1fe61ef8e62646c22e21ccc0dec0f890b726f8adb76d7609e0274af8574b67201d30eff941cb60b1b76ff8c
2020-01-08 13:47:27 +01:00
fanquake
99b54076ff
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

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
2020-01-06 15:50:30 +08:00
Aaron Clauson
4330a1ee7f
Update msvc build for Visual Studio 2019 v16.4
msvc warning C4834 for the Bitcoin Core build was introduced by Visual Studio 16.4.0. This PR adds an ignore rule for the warning (it's related to the nodiscard attribute and is not considered relevant).
An additional side effect of the msvc compiler update is the prebuilt Qt5.9.8 libraries cannot be linked due to being built with an earlier version of the compiler. To fix this a new Qt5.9.8 version has been compiled and the appveyor job updated to use them. The GitHub Actions job needs to continue to use the original Qt5.9.8 libraries until the latest GitHub Windows image also updates to >= Visual Studio 2019 v16.4.

Github-Pull: #17736
Rebased-From: 75d9317bc1aecaab95bf875f8dca97ac3daddff4
2020-01-06 06:35:09 +08:00
Aaron Clauson
b0f9b8e648
Moves vcpkg list to a text file and updates the appveyor job and readme to use it.
Github-Pull: #17416
Rebased-From: 29eb039252f35a3bb58b0027f172cfe3d0c79867
2020-01-06 06:34:33 +08:00
Aaron Clauson
cd7b3b254a
Updated appveyor config:
- Update build image from Visual Studio 2017 to Visual Studio 2019.
 - Updated Qt static library from Qt5.9.7 to Qt5.9.8.
 - Added commands to update vcpkg port files (this does not update already installed packages).
 - Updated vcpkg package list as per #17309.
 - Removed commands setting common project file options. Now done via common.init.vcxproj include.
 - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration.
Updated msvc project configs:
 - Updated platform toolset from v141 to v142.
 - Updated Qt static library from Qt5.9.7 to Qt5.9.8.
 - Added ignore for linker warning building bitcoin-qt program.
 - Added missing util/str.cpp class file to test_bitcoin project file.

Github-Pull: #17364
Rebased-From: 3c84deebaa311155ccc7565d09525041eed9747c
2020-01-06 06:30:29 +08:00
Wladimir J. van der Laan
112144dc52
Add missing typeinfo includes
The use of `typeid()` for logging exception types requires this include
according to https://en.cppreference.com/w/cpp/language/typeid.

Github-Pull: #17762
Rebased-From: 4bdd68f301a9cee3360deafc7531c638e923226b
2020-01-05 07:30:49 +08:00
Wladimir J. van der Laan
1a6a534665
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
2020-01-05 07:29:54 +08:00
fanquake
c0dc728206
test: fix bitcoind already running warnings on macOS
On macOS, pidof installed via brew returns b'' rather than None.
Account for this, to remove spurious warnings from the test_runner.

Github-Pull: #17488
Rebased-From: 1c23ea5fe67b88fd72a1ff640dd1bbb21a34fbf4
2020-01-04 18:50:43 +08:00
fanquake
febf04841f
Merge #17853: [0.19] psbt: handle unspendable psbts
ca5f8deefd Mark PSBTs spending unspendable outputs as invalid in analysis (Andrew Chow)
551583398b Have a PSBTAnalysis state that indicates invalid PSBT (Andrew Chow)

Pull request description:

  Backport of #17524

ACKs for top commit:
  achow101:
    ACK ca5f8deefd

Tree-SHA512: b5f2b951beb9477ac3176a0aade845654d2108ca3a9fbc72097ba4b4797df5419053d6b489bbaa03be08cb8cfdc37a83db8b7642ffa52d42b7aa8ea14aff39cc
2020-01-04 18:31:39 +08:00
fanquake
310b29f9c3
Merge #17859: [0.19] Fix origfee return for bumpfee with feerate arg
bd8c6f12e8 Fix origfee return for bumpfee with feerate arg (Gregory Sanders)

Pull request description:

  Backport of Github-Pull: #17643
  Rebased-From: 02afb0c550dc8529918460c845d1da3adf236eed

ACKs for top commit:
  fanquake:
    ACK bd8c6f12e8 - the appveyor failure is unrelated.
  instagibbs:
    utACK bd8c6f12e8

Tree-SHA512: 7e420a3fe02503194b6fc8eae5277c46289cd6abe131b2513ad80422819e6bafbc7768e7be344d4132ebdbc24846d459ba2a271be184725d818dff77510fa4de
2020-01-04 17:09:52 +08:00
Gregory Sanders
bd8c6f12e8 Fix origfee return for bumpfee with feerate arg
Github-Pull: #17643
Rebased-From: 02afb0c550dc8529918460c845d1da3adf236eed
2020-01-03 18:22:56 +00:00
Hennadii Stepanov
5276b0e5a2
util: Add missing headers to util/fees.cpp
Github-Pull: #17450
Rebased-From: b1315241375211563e9ec00391c4ac5310e1146f
2020-01-03 20:05:16 +08:00
Andrew Chow
4d7875c555
rpc: require second argument only for scantxoutset start action
The second argument of scanobjects is only required for the start action.
Stop and abort actions do not need this.

Github-Pull: #17728
Rebased-From: 7d263571bee8c36fbe3c854b69c6f31cf1ee3b9b
2020-01-03 18:37:54 +08:00
Harris
bda2f5b3c9
cli: fix Fatal LevelDB error when specifying -blockfilterindex=basic twice
Github-Pull: #17687
Rebased-From: 034561f9cd4180ea1c165cb02df6c84444a8d692
2020-01-03 18:36:57 +08:00
fanquake
d14ab7c522
gui: disable File->CreateWallet during startup
Github-Pull: #17695
Rebased-From: d65fafc2f7d98ab2be0a0961e7a3ebe7850c1dca
2020-01-03 18:35:45 +08:00
Jan Beich
b9f1bc0fc1
wallet: unbreak with boost 1.72
wallet/walletutil.cpp:77:23: error: no member named 'level' in 'boost::filesystem::recursive_directory_iterator'
        } else if (it.level() == 0 && it->symlink_status().type() == fs::regular_file && IsBerkeleyBtree(it...
                   ~~ ^

Github-Pull: #17654
Rebased-From: a64e97dd476bda7c7981979d045b0d06d6f7ce47
2020-01-03 18:33:08 +08:00
Andrew Chow
ca5f8deefd Mark PSBTs spending unspendable outputs as invalid in analysis
Github-Pull: #17524
Rebased-From: 773d4572a4864ab7b6380858d07d9579ff6dd9a2
2020-01-03 04:04:38 +00:00
Andrew Chow
551583398b Have a PSBTAnalysis state that indicates invalid PSBT
Invalid PSBTs need to be re-created, so the next role is the
Creator (new PSBTRole). Additionally, we need to know what went
wrong so an error field was added to PSBTAnalysis.

A PSBTAnalysis indicating invalid will have empty everything,
next will be set to PSBTRole::CREATOR, and an error message.

Github-Pull: #17524
Rebased-From: 638e40cb6080800c7b0a7f4028f63326acbe4700
2020-01-03 04:04:38 +00:00
Hennadii Stepanov
a284bbbee8
refactor: Styling w/ clang-format, comment update
Github-Pull: #17427
Rebased-From: 1828c6f05fcbed9ed432b042cc36eee0d80b113d
Tree-SHA512: 140b723bd9c8d8823ecb84d7f774d213a9e9dac45fb0de82c43521cf8276d946feaa1b7c0b7d40f51dbab38c88c53b4680da1965b1e0ce7f858eb35b2c4537da
2019-11-25 10:13:25 +01:00
Hennadii Stepanov
2aba76ce02
qt: Fix missing qRegisterMetaType for size_t
It is required in order to use size_t in QueuedConnections.

Github-Pull: #17427
Rebased-From: 88a94f7bb8ba2b0257315d70717f9af928ca6561
Tree-SHA512: 55accd997209c559dfc8e88b0db189ba314ac31e265ba2f94fa2009f1aba6b96213e2aa8cbad492b1230078f2e6cf1cca7a233dc6f54e9bc449f4e5438330b4d
2019-11-25 10:13:21 +01:00
Wladimir J. van der Laan
dd198064b5
doc: Clear out release notes after 0.19.0.1
Tree-SHA512: 4de65e8d0f91f9b16f374adb57a3cccc4421af47e1ef474d16afe520ca575f7b5acf871b805453a93c6e0ba1c61ab864a317df0af483da1c46c75d620e8e56d6
2019-11-25 10:09:14 +01:00
Wladimir J. van der Laan
1bc9988993
doc: Generate manpages for 0.19.0.1
Tree-SHA512: d53a2bfa5bc589e7130cf8cd1627083ad7c72a197cbd80754c9dcf78e3775021fbd6426c5762f5f3e52e4b23ed06387c0be224914e0f98d14f3f7e51ee66c809
2019-11-18 10:46:57 +01:00
Wladimir J. van der Laan
890dc0a7cc
doc: Re-add release notes of 0.19.0
Change version to 0.19.0.1.

Add the following two PRs:
- #17368 cli: fix -getinfo output when compiled with no wallet
- #17449 fix uninitialized variable nMinerConfirmationWindow

Add the following author:
- NullFunctor (bitcoinVBR on gh)

Tree-SHA512: f37b822555f2069c999721eede9156250d780e8906cd2e3294e7dfefc0225fff65ee3af4614fca081dcdccfab4a2a980192156621f005aa529bba00058da5c9a
2019-11-14 20:43:40 +01:00
NullFunctor
6ec0dc195d
fix uninitialized variable nMinerConfirmationWindow
fix uninitialized variable hard code the MinBIP9WarningHeight

fix uninitialized var hard code the MinBIP9WarningHeight instead

Github-Pull: #17449
Rebased-From: edb6b768a4185a4aaa6281ee50a6538f7426cb1e
Tree-SHA512: 6192940e5e13ad1176aa380da9f3287ff1eb0c8c2a78571a6c45fe0e100417452c8503b9ffc5c8b2a89c4a5e8811b9d2bfec95366e1de00f3365ba06959e9a9a
2019-11-14 20:36:44 +01:00
Wladimir J. van der Laan
1e9816d17c
build: bump version to 0.19.0.1
Tree-SHA512: d448348761b7cd371b9ee4736577f6af9a141c73141ccd88a91a94593f6d21ab32754771673e8f2eb31044a624a1e1e8e4e83919a4d0100cb08eec71dcff7158
2019-11-14 20:35:23 +01:00
Wladimir J. van der Laan
c7c8e3e072
Merge #17417: [0.19] cli: fix -getinfo output when compiled with no wallet
2d0b3c0716 cli: fix -getinfo output when compiled with no wallet (fanquake)

Pull request description:

  Backports #17368 to the 0.19 branch.

ACKs for top commit:
  laanwj:
    ACK 2d0b3c0716, this is a clean backport of #17368 / 3d05d33 and contains the necessary metadata.

Tree-SHA512: 7773a1038df385ca3114454800142fb3c44b06894175641e596a17214f8e83b326ea049d8908d6ff7c6e56b07e671216196d2bb964401a6b5e0ec1e632fc8b89
2019-11-10 12:08:03 +01:00
Wladimir J. van der Laan
e05b2dba16
doc: Clean out release notes post-release
Tree-SHA512: 8f54da0099227270a51e3ab82e001cca82aa3f2f8e6303cd31f9c9a4d2867113e2776f2a7babf4737cfca1830cf0077070621a0c3bb881d5f9d36dde0b0104d1
2019-11-10 11:43:23 +01:00
Wladimir J. van der Laan
42414bfd05
build: set CLIENT_VERSION_RC to 0 pre-final
Tree-SHA512: 3d071f93f6fc5b30ccfb3ca34d7e050370d2d6201aca892503a4300a761116d69ceed7c770283581fcce0ce78ff7c0a6820db8600877d09fba9ed0cd488f4bf7
2019-11-08 21:15:52 +01:00
Wladimir J. van der Laan
84908668a0
Merge #17403: doc: reintegrate 0.19.0 release notes
8bca3ce0b1 doc: add macOS DMG opening note to release notes (fanquake)
2a15679816 doc: reintegrate release notes from wiki (fanquake)

Pull request description:

  This reintegrates the WIP release notes from the [wiki](https://github.com/bitcoin-core/bitcoin-devwiki/wiki/0.19.0-Release-Notes-Draft).

  This also adds a note to the release notes about macOS Catalina users having to "right click" and "Open" to open the DMG. Happy to adjust this as required.

ACKs for top commit:
  laanwj:
    ACK 8bca3ce0b1

Tree-SHA512: 7cd88159520d90b50903434221cf656928a964d407de64016ae5f8a35fdf29a631d765d7f99fd1d5339901b00db79e2fec6be214fa8016c95856f7a691b80b4d
2019-11-08 21:11:12 +01:00
fanquake
2d0b3c0716
cli: fix -getinfo output when compiled with no wallet
Github-Pull: #17368
Rebased-From: 3d05d332693ec860626fc77e6ba50dec94e4e83c
2019-11-08 09:09:45 -05:00
fanquake
8bca3ce0b1
doc: add macOS DMG opening note to release notes 2019-11-08 08:26:12 -05:00
fanquake
2a15679816
doc: reintegrate release notes from wiki
Taken from revision 3f6f33ba44.
2019-11-08 08:26:06 -05:00
Wladimir J. van der Laan
7358ae6d71
gui: rc3 translations update
Tree-SHA512: 84fae5ac33200ba995384f87d43c3d0b138043e47094dd62731e1558fdc74a8df283046437f1d0c228cdee519bbf9c167a1696a7a4d915f48da97c9524f320c2
2019-10-26 19:49:04 +02:00
Wladimir J. van der Laan
f6aab42bba
build: bump version to rc3
Tree-SHA512: 078c48b4bb0558c8600211b3cc6ae7e2ce6add7ea907da0100f862f51fcb1119639fddd028396fa79899dae8cab606bf388b3a4c92f3fbe8e191fda1b63c80fa
2019-10-26 19:31:45 +02:00
fanquake
eb5a899d5a
gui: disable font antialiasing for QR image address
More info available here: https://doc.qt.io/qt-5/qfont.html#StyleStrategy-enum

Github-Pull: #17257
Rebased-From: e156b9d8b974f57253306b693a03aa80322ebc6c
Tree-SHA512: 6e36d626215d5e66796bd3935037eef89ae810e4855e321f9f37b90c3be0b61de21cd655f23bc6a29f41038b5179d92578ab19ab89ccd525d9389ab868456827
2019-10-26 13:07:09 +02:00
João Barbosa
e39c9cff1a
gui: Fix start timer from non QThread
Github-Pull: #17120
Rebased-From: a8f5026d6d992fd8d72908c848c5028f0f9a8cd1
Tree-SHA512: 5f8cbfd5044d2c0df7dbfc54e7d94f93da96d0adecd23007e82acc38bc3c7984a685c9596cbd449f559cf42db9e1b99612765328004c5a45655a8e375482a8a8
2019-10-26 13:02:55 +02:00
Jan Beich
8082b3847a
http: add missing header bootlegged by boost < 1.72
httpserver.cpp:74:10: error: no template named 'deque' in namespace 'std'
    std::deque<std::unique_ptr<WorkItem>> queue;
    ~~~~~^

Github-Pull: #17249
Rebased-From: a5929130223973636f3fd25fbfaf2953f2ec96a9
Tree-SHA512: 47ca773676a3f181bb265af30df6ca83669ffbb2dc79ce7c1ffd6f2d110df8406c2f73daddbcb1c038661472a1be93f46e9d3b8c3d2f33fe484f5774070e59ae
2019-10-26 13:02:46 +02:00
Wladimir J. van der Laan
0f6f7a574a
Merge #17252: 0.19: gui: Make polling in ClientModel asynchronous
d5c36ce0c4 gui: Make polling in ClientModel asynchronous (João Barbosa)

Pull request description:

  Backport #17135.

ACKs for top commit:
  laanwj:
    ACK d5c36ce0c4, it is a clean cherry-pick of 6b6be41c36e4fe9a74bed50e7f0a06532ab1260b.

Tree-SHA512: 4e514f205866d87bdc19a57dede2214891237d7b663c9c8c9f19a9ab5c5a6e64876065bebb6c16a1799b02e0eb971318866b4e0824155b47063ce379fb0155e2
2019-10-26 11:53:51 +02:00
João Barbosa
d5c36ce0c4 gui: Make polling in ClientModel asynchronous
With this change polling runs in a different thread to prevent
disturbing the event loop.

Github-Pull: #17135
Rebased-From: 6b6be41c36e4fe9a74bed50e7f0a06532ab1260b
2019-10-25 14:55:33 +01:00
Wladimir J. van der Laan
5b68d1654f
Merge #17197: [0.19.0] Backports
334e27ed5a util: Filter out macOS process serial number (Hennadii Stepanov)
e1bacb591a rpc: fix -rpcclienttimeout 0 option (Fabian Jahr)
6a45766acb doc: update bips.md with buried BIP9 deployments (MarcoFalke)
dc0fe7ae1f util: Filter control characters out of log messages (Wladimir J. van der Laan)
ba46f39418 init: Change fallback locale to C.UTF-8 (Wladimir J. van der Laan)

Pull request description:

  Backports the following PRs to the `0.19.0` [branch](https://github.com/bitcoin/bitcoin/tree/0.19):
  * #17184 -  util: Filter out macOS process serial number
  * #17131 - rpc: fix -rpcclienttimeout 0 option
  * #17111 - doc: update bips.md with buried BIP9 deployments
  * #17095 - util: Filter control characters out of log messages
  * #17085 - init: Change fallback locale to C.UTF-8

ACKs for top commit:
  laanwj:
    ACK  334e27ed5a

Tree-SHA512: 436064c00f98bae8475d0e46ab104df6fc9bdae4927dcdd5cffa4242704256c749352e9cabb23cf806911b1c303ddcb0208a42d540412e98da2513176e5e1023
2019-10-21 12:21:26 +02:00
Hennadii Stepanov
334e27ed5a
util: Filter out macOS process serial number
Github-Pull: #17184
Rebased-From: b5f0be38790ecc87a1e537edeca5923f608bc68c
2019-10-19 14:04:29 -04:00
Fabian Jahr
e1bacb591a
rpc: fix -rpcclienttimeout 0 option
Github-Pull: #17131
Rebased-From: b3b26e149c34fee9c7ae8548c6e547ec6254b441
2019-10-19 14:03:48 -04:00
MarcoFalke
6a45766acb
doc: update bips.md with buried BIP9 deployments
Github-Pull: #17111
Rebased-From: fa6ed82794f4aecbd71667b5491edbbc4eaeaaef
2019-10-19 14:02:54 -04:00
Wladimir J. van der Laan
dc0fe7ae1f
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
2019-10-19 13:58:18 -04:00
Wladimir J. van der Laan
ba46f39418
init: Change fallback locale to C.UTF-8
Much of our code assumes UTF-8 support, and this is a more realistic
guess for modern systems anyway than the default character set (which
would be ASCII only). So change the assumed fallback locale (if no
locale is defined by the user or OS) to `C.UTF-8`.

Github-Pull: #17085
Rebased-From: facb9a1315f97489a20eb0e969fdb14b5128ed2f
2019-10-19 13:54:02 -04:00
Wladimir J. van der Laan
3834d3d121
Merge #17158: tests: Fix fs_tests for unknown locales
bd9d40dbbd tests: Fix fs_tests for unknown locales (Daki Carnhof)

Pull request description:

  Backporting to `0.19` as suggested in https://github.com/bitcoin/bitcoin/pull/17086#issuecomment-542297344

  Fix by removing "L" as suggested by meeDamian in
  https://github.com/bitcoin/bitcoin/issues/14948#issuecomment-522355441

  Co-Authored-By: bugs@meedamian.com

Top commit has no ACKs.

Tree-SHA512: cb73c475560d156034d240c77dfd704526cfb148bcecf302079f1f9b6984117da71f018e1c70a165caed90be48482cb9c4939b001477a44f562fc0c11cb6ede7
2019-10-16 15:59:24 +02:00