Commit graph

110 commits

Author SHA1 Message Date
Andrew Poelstra
9a8c2b0e3f Merge 8a56f79d49 into merged_master (Bitcoin PR #17482) 2020-11-26 01:07:40 +00:00
Andrew Poelstra
2c846f5fa3 Merge da3611a580 into merged_master (Elements PR #808) 2020-11-26 00:29:43 +00:00
Andrew Poelstra
6f123becd3 Merge 1d1f8bbf57 into merged_master (Bitcoin PR #16115) 2020-11-14 19:07:24 +00:00
Andrew Poelstra
b00e322143 Merge 04f78b818f into merged_master (Bitcoin PR #17887) 2020-11-14 16:52:10 +00:00
Andrew Poelstra
7c53615bb6 Merge af05bd9e1e into merged_master (Bitcoin PR #17891) 2020-11-14 16:52:07 +00:00
Andrew Poelstra
ebc31a85a2 Merge 190a4051fd into merged_master (Bitcoin PR #17762) 2020-11-14 16:52:03 +00:00
Andrew Poelstra
077355e651 Merge 6677be64f6 into merged_master (Bitcoin PR #17473) 2020-11-14 16:52:01 +00:00
Andrew Poelstra
6b5ef039c0 Merge 03dfa36641 into merged_master (Bitcoin PR #17229) 2020-11-14 16:52:00 +00:00
Andrew Poelstra
84702646f3 Merge 23cecd6cd5 into merged_master (Bitcoin PR #17604) 2020-11-14 16:51:51 +00:00
Andrew Poelstra
35020e3a32 Merge a7aec7ad97 into merged_master (Bitcoin PR #15934) 2020-11-09 23:10:09 +00:00
Andrew Poelstra
fdb06a8ceb Merge 4c1090c882 into merged_master (Bitcoin PR #17279) 2020-11-09 21:20:46 +00:00
Andrew Poelstra
db225166af Merge b6e34afe97 into merged_master (Bitcoin PR #17184) 2020-11-09 21:20:42 +00:00
Andrew Poelstra
821f5256a5 Merge 46d6930f8c into merged_master (Bitcoin PR #16659) 2020-11-09 21:20:41 +00:00
Andrew Poelstra
00efae6802 Merge b67ca4ee73 into merged_master (Bitcoin PR #17085) 2020-11-09 21:20:37 +00:00
Andrew Poelstra
a191197ace Merge 83112db129 into merged_master (Bitcoin PR #15864) 2020-11-09 21:20:16 +00:00
Andrew Poelstra
527d180369 Merge b799ebcc17 into merged_master (Bitcoin PR #16566) 2020-11-09 21:20:13 +00:00
Andrew Poelstra
9c3480fea9 Merge 3a3d8b8357 into merged_master (Bitcoin PR #16097) 2020-11-09 21:20:11 +00:00
Andrew Poelstra
83019c2acd Merge d960d5ca99 into merged_master (Bitcoin PR #16362) 2020-11-09 21:20:08 +00:00
Andrew Poelstra
9fbf23d6f2 Merge 3dd46d1730 into merged_master (Elements PR #675) 2020-11-09 21:19:26 +00:00
Andrew Poelstra
15f0fb459f Merge 4882040182 into merged_master (Bitcoin PR #16291) 2020-11-09 03:58:20 +00:00
Andrew Poelstra
f7cb3a9645 Merge f373beebbc into merged_master (Bitcoin PR #16344) 2020-11-09 03:58:19 +00:00
Andrew Poelstra
62a63e4c6b Merge 8c69fae944 into merged_master (Bitcoin PR #15457) 2020-11-09 03:58:19 +00:00
Andrew Poelstra
1c4217c939 Merge 935cd6b1ec into merged_master (Bitcoin PR #16300) 2020-11-09 03:58:17 +00:00
Andrew Poelstra
e33ff205ee Merge 1a274bce4b into merged_master (Bitcoin PR #16205) 2020-11-06 15:20:15 +00:00
Andrew Poelstra
68d9951825 Merge d0f81a96d9 into merged_master (Bitcoin PR #16129) 2020-11-06 15:20:13 +00:00
Andrew Poelstra
e4fdf3639a Merge c4560a7dfe into merged_master (Bitcoin PR #15650) 2020-10-29 02:07:22 +00:00
Andrew Poelstra
44e5901b98 Merge 2c35fe6238 into merged_master (Bitcoin PR #15849) 2020-10-29 02:06:12 +00:00
Andrew Poelstra
1e375568af Merge 2d46f1be0c into merged_master (Bitcoin PR #15118) 2020-10-27 21:52:10 +00:00
Andrew Poelstra
a599a81d3a Merge 789b0bbf2a into merged_master (Bitcoin PR #15335) 2020-10-27 21:39:17 +00:00
Wladimir J. van der Laan
8a56f79d49
Merge #17482: util: Disallow network-qualified command line options
900d8f6f70 util: Disallow network-qualified command line options (Russell Yanofsky)

Pull request description:

  Previously these were allowed but ignored.

  This change implements one of the settings simplifications listed in #17508. Change includes release notes.

ACKs for top commit:
  laanwj:
    ACK 900d8f6f70

Tree-SHA512: ab020a16a86c1e8ec709fbf798d533879d32c565eceeb7eb785c33042c49c6b4d1108c5453d8166e4a2abffc2c8802fbb6d3b895e0ddeefa8f274fd647e3c8ad
2020-02-05 16:23:53 +01:00
Steven Roose
7a5a412a18
Remove unused ArgsManager::GetUnrecognizedSections 2020-01-30 17:29:42 +00:00
Steven Roose
1bdda5e0a9
Add DEFAULT chain and set to liquidv1
This fixes f.e. that when arguments are set in CLI or the config file
without a network attached (`port` instead of `liquidv1.port`), they
will now be assigned to the liquidv1 instead of Bitcoin mainnet.
2020-01-30 17:29:39 +00:00
Larry Ruane
b951b0973c on startup, write config options to debug.log 2020-01-29 15:44:00 -07:00
Wladimir J. van der Laan
04f78b818f
Merge #17887: bug-fix macos: give free bytes to F_PREALLOCATE
75163f4729 bug-fix macos: give free bytes to F_PREALLOCATE (Karl-Johan Alm)

Pull request description:

  The macos manpage for `fcntl` (for `F_PEOFPOSMODE`) states:

  > Allocate from the physical end of file.  In this case, fst_length indicates the number of newly allocated bytes desired.

  This would result in the rev files being essentially pre-allocating 2x their necessary size (this is the case for block files as well, but these are flushed down to their right sizes every time) as they would pre-allocate `pos + length` **free** bytes, rather than allocating `length` bytes after `pos`, as expected.

  Fixes #17827.

ACKs for top commit:
  eriknylund:
    ACK 75163f4729 built locally. All tests passing. Manual test as per my previous comment above on an older commit, using an APFS unencrypted disk image with 3 GB.
  laanwj:
    code review ACK 75163f4729

Tree-SHA512: 105c8d56c20acad8febdf0583f1e5721b63376ace325a7a62c2e4b15a442c7131404ed604c32c0cda716791d7ca5aa9f5b6a774ff86e39838bc7e87ca3c42760
2020-01-22 16:48:31 +01:00
Karl-Johan Alm
75163f4729
bug-fix macos: give free bytes to F_PREALLOCATE
The macos manpage for fcntl (for F_PEOFPOSMODE) states:

> Allocate from the physical end of file.  In this case, fst_length indicates the number of newly allocated bytes desired.
2020-01-15 08:56:39 +09:00
MarcoFalke
e09c701e01 scripted-diff: Bump copyright of files changed in 2020
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2020-01-15 02:18:00 +07:00
Wladimir J. van der Laan
190a4051fd
Merge #17762: net: Log to net category for exceptions in ProcessMessages
4bdd68f301 Add missing typeinfo includes (Wladimir J. van der Laan)
4d88c3dcb6 net: Log to net category for exceptions in ProcessMessages (Wladimir J. van der Laan)

Pull request description:

  Remove the forest of special exceptions based on string matching, 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 verbose errors (let alone writing to stderr) when any peer can generate them.

ACKs for top commit:
  MarcoFalke:
    re-ACK 4bdd68f301 (only change is adding includes) 🕕
  promag:
    ACK 4bdd68f301, could squash.

Tree-SHA512: a005591a3202b005c75e01dfa54249db3992e2f9eefa8b3d9d435acf66130417716ed926ce4e045179cf43788f1abc7362d999750681a9c80b318373d611c366
2020-01-02 21:39:00 +01:00
Wladimir J. van der Laan
4bdd68f301 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.
2020-01-02 20:54:15 +01:00
Russell Yanofsky
900d8f6f70 util: Disallow network-qualified command line options
Previously these were allowed but ignored.
2019-12-19 16:27:15 -05:00
MarcoFalke
6677be64f6
Merge #17473: refactor: Settings code cleanups
e9fd366044 refactor: Remove null setting check in GetSetting() (Russell Yanofsky)
cba2710220 scripted-diff: Remove unused ArgsManager type flags in tests (Russell Yanofsky)
425bb30725 refactor: Add util_CheckValue test (Russell Yanofsky)
0fa54358b0 refactor: Add ArgsManager::GetSettingsList method (Russell Yanofsky)
3e185522ac refactor: Get rid of ArgsManagerHelper class (Russell Yanofsky)
dc0f148074 refactor: Replace FlagsOfKnownArg with GetArgFlags (Russell Yanofsky)
57e8b7a727 refactor: Clean up includeconf comments (Russell Yanofsky)
3f7dc9b808 refactor: Clean up long lines in settings code (Russell Yanofsky)

Pull request description:

  This PR doesn't change behavior. It just implements some suggestions from #15934 and #16545 and few other small cleanups.

ACKs for top commit:
  jnewbery:
    Code review ACK e9fd366044
  MarcoFalke:
    ACK e9fd366044 🚟

Tree-SHA512: 6e100d92c72f72bc39567187ab97a3547b3c06e5fcf1a1b74023358b8bca552124ca6a53c0ab53179b7f1329c03d9a73faaef6d73d2cd1a2321568a0286525e2
2019-12-20 03:05:28 +07:00
practicalswift
32e27129ff util: Move TrimString(...). Introduce default pattern (trims whitespace). Add NODISCARD. 2019-12-16 22:50:49 +00:00
fanquake
d2a3a5cadb
util: make ScheduleBatchPriority advisory only 2019-11-26 09:55:07 -05:00
Russell Yanofsky
0fa54358b0 refactor: Add ArgsManager::GetSettingsList method
Add for consistency with ArgsManager::GetSetting method and to make setting
types accessible to ArgsManager callers and tests (test added next commit).

This commit does not change behavior.
2019-11-13 04:20:30 -05:00
Russell Yanofsky
3e185522ac refactor: Get rid of ArgsManagerHelper class
Suggested by John Newbery <john@johnnewbery.com>
https://github.com/bitcoin/bitcoin/pull/15934#issuecomment-551969778

This commit does not change behavior.
2019-11-13 04:20:30 -05:00
Russell Yanofsky
dc0f148074 refactor: Replace FlagsOfKnownArg with GetArgFlags
Rename suggested by João Barbosa <joao.paulo.barbosa@gmail.com>
https://github.com/bitcoin/bitcoin/pull/16545#issuecomment-519048000

This also gets rid of ArgsManager::NONE constant, which was an implementation
detail not meant to be used by ArgsManager callers.

Finally this reverts a change from 7f40528cd5
https://github.com/bitcoin/bitcoin/pull/15934 adding "-" characters to argument
names. Better for GetArgFlags to require "-" prefixes for consistency with
other ArgsManager methods, and to be more efficient later when GetArg functions
need to call GetArgFlags (https://github.com/bitcoin/bitcoin/pull/16545)

This commit does not change behavior.
2019-11-13 04:20:30 -05:00
Russell Yanofsky
57e8b7a727 refactor: Clean up includeconf comments
Suggested by Antoine Riard <ariard@student.42.fr>
https://github.com/bitcoin/bitcoin/pull/15934#discussion_r344291875

and John Newbery <john@johnnewbery.com>
https://github.com/bitcoin/bitcoin/pull/15934#discussion_r344271224

This commit does not change behavior.
2019-11-13 04:20:30 -05:00
Russell Yanofsky
7f40528cd5 Deduplicate settings merge code
Get rid of settings merging code in util/system.cpp repeated 5 places,
inconsistently:

- ArgsManagerHelper::GetArg
- ArgsManagerHelper::GetNetBoolArg
- ArgsManager::GetArgs
- ArgsManager::IsArgNegated
- ArgsManager::GetUnsuitableSectionOnlyArgs

Having settings merging code separated from parsing simplifies parsing somewhat
(for example negated values can simply be represented as false values instead
of partially cleared or emply placeholder lists).

Having settings merge happen one place instead of 5 makes it easier to add new
settings sources and harder to introduce new inconsistencies in the way
settings are merged.

This commit does not change behavior in any way.
2019-11-07 23:08:22 -04:00
Russell Yanofsky
e2e37cfe8a Remove includeconf nested scope
Easier to review ignoring whitespace

Suggestion from John Newbery <john@johnnewbery.com> in
https://github.com/bitcoin/bitcoin/pull/15934#discussion_r343806860
2019-11-07 22:08:22 -05:00
Russell Yanofsky
5a84aa880f Rename includeconf variables for clarity
includeconf -> conf_file_names
to_include -> conf_file_name
include_config -> conf_file_stream

Suggestion from John Newbery <john@johnnewbery.com> in
https://github.com/bitcoin/bitcoin/pull/15934#discussion_r343905138
2019-11-07 22:04:42 -05:00
Russell Yanofsky
dc8e1e7548 Clarify emptyIncludeConf logic
Suggestion from John Newbery <john@johnnewbery.com> in
https://github.com/bitcoin/bitcoin/pull/15934#discussion_r343795528
2019-11-07 22:01:22 -05:00