Skip to content

Conversation

jtimon
Copy link
Contributor

@jtimon jtimon commented Oct 1, 2016

A lot of noise just to get one less GetArg call from util.cpp.
But explicit is better than implicit, specially if we ever want to decouple the util building package from global variables, or at least separate them in single file for each building module.

@laanwj
Copy link
Member

laanwj commented Oct 2, 2016

Yes, makes sense. Removing side effects is a good thing.

At some point we we need to make our own implementation of the config parser instead of boost::options. This will be less hacky if we have a proper API instead of just slinging values into global maps.

@laanwj
Copy link
Member

laanwj commented Oct 3, 2016

ut/code review ACK 3450c18

@maflcko
Copy link
Member

maflcko commented Oct 3, 2016

utACK 3450c18

@laanwj laanwj merged commit 3450c18 into bitcoin:master Oct 3, 2016
laanwj added a commit that referenced this pull request Oct 3, 2016
…global mapArgs

3450c18 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (Jorge Timón)
codablock pushed a commit to codablock/dash that referenced this pull request Jan 12, 2018
…e from global mapArgs

3450c18 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (Jorge Timón)
zkbot added a commit to zcash/zcash that referenced this pull request Mar 21, 2018
Misc upstream PRs

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6077
  - Second commit only (first was already applied to 0.11.X and then reverted)
- bitcoin/bitcoin#6284
- bitcoin/bitcoin#6489
- bitcoin/bitcoin#6462
- bitcoin/bitcoin#6647
- bitcoin/bitcoin#6235
- bitcoin/bitcoin#6905
- bitcoin/bitcoin#6780
  - Excluding second commit (QT) and third commit (requires bitcoin/bitcoin#6993)
- bitcoin/bitcoin#6961
  - Excluding QT parts, and a small `src/policy/policy.cpp` change which depends on a bunch of other PRs, which we'll have to remember to come back to.
- bitcoin/bitcoin#7044
- bitcoin/bitcoin#8856
- bitcoin/bitcoin#9002

Part of #2074 and #2132.
andvgal pushed a commit to energicryptocurrency/gen2-energi that referenced this pull request Jan 6, 2019
…e from global mapArgs

3450c18 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (Jorge Timón)
zkbot added a commit to zcash/zcash that referenced this pull request Dec 4, 2019
Misc upstream PRs

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6077
  - Second commit only (first was already applied to 0.11.X and then reverted)
- bitcoin/bitcoin#6284
- bitcoin/bitcoin#6489
- bitcoin/bitcoin#6235
- bitcoin/bitcoin#6905
- bitcoin/bitcoin#6780
  - Excluding second commit (QT) and third commit (requires bitcoin/bitcoin#6993)
- bitcoin/bitcoin#6961
  - Excluding QT parts, and a small `src/policy/policy.cpp` change which depends on a bunch of other PRs, which we'll have to remember to come back to.
- bitcoin/bitcoin#7044
- bitcoin/bitcoin#8856
- bitcoin/bitcoin#9002

Part of #2074 and #2132.
furszy added a commit to PIVX-Project/PIVX that referenced this pull request Apr 26, 2021
8817d76 Add config changes to release notes (random-zebra)
988d428 [tests] Unit tests for -testnet/-regtest in [test]/[regtest] sections (Anthony Towns)
7b72630 ArgsManager: special handling for -regtest and -testnet (Anthony Towns)
51c4aa1 [tests] Unit tests for network-specific config entries (Anthony Towns)
30f3bab ArgsManager: Warn when ignoring network-specific config setting (Anthony Towns)
1bddffe ArgsManager: limit some options to only apply on mainnet when in default section (Anthony Towns)
ef505ea [Tests] Fix and re-activate rpc_users.py functional test (random-zebra)
0eacce7 [RPC] Add rpcauth startup flag for multiple RPC users (random-zebra)
e79ff3c [Tests] Fix and re-activate feature_config_args functional test (random-zebra)
3fcaaa4 Replace cookie auth in tests (random-zebra)
b907f33 rpc: Generate auth cookie in hex instead of base64 (random-zebra)
bf443a9 [tests] Use regtest section in functional tests configs (Anthony Towns)
7857bcd [tests] Unit tests for config file sections (Anthony Towns)
4cf2ee6 ArgsManager: support config file sections (Anthony Towns)
2658771 ArgsManager: drop m_negated_args (Anthony Towns)
4ee69b5 ArgsManager: keep command line and config file arguments separate (random-zebra)
4f416b8 [tests] Add additional unit tests for -nofoo edge cases (Anthony Towns)
5d1200b [tests] Check GetChainName works with config entries (Anthony Towns)
157da7c [tests] Add unit tests for ReadConfigStream (Anthony Towns)
23a4633 ReadConfigStream: assume the stream is good (Anthony Towns)
56ea59e Separate out ReadConfigStream from ReadConfigFile (Anthony Towns)
a3438a2 Test datadir in conf file exists (MeshCollider)
459c4ad [tests] Add unit tests for GetChainName (Anthony Towns)
0ab3e99 Move ChainNameFromCommandLine into ArgsManager, rename to GetChainName (Anthony Towns)
1ea7ce6 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (random-zebra)

Pull request description:

  It is now possible for a single configuration file to set different options for different networks. This is done by using sections or by prefixing the option with the network, such as:
  ```
      main.uacomment=pivx
      test.uacomment=pivx-testnet
      regtest.uacomment=regtest
      [main]
      mempoolsize=300
      [test]
      mempoolsize=100
      [regtest]
      mempoolsize=20
  ```
  The `addnode=`, `connect=`, `port=`, `bind=`, `rpcport=`, `rpcbind=`, and `wallet=` options will only apply to mainnet when specified in the configuration file, unless a network is specified.

  Also
  - fix cookie-based authentication for the functional tests, and re-enable `feature_config_args.py`
  - add `-rpcauth` startup flag, for multiple RPC users, and re-enable `rpc_users.py`.

  Backports relevant commits from:
  - bitcoin#8856 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs
  - bitcoin#11829 Test datadir specified in conf file exists
  - bitcoin#12878 Config handling refactoring in preparation for network-specific sections
  - bitcoin#11862 Network specific conf sections
  - bitcoin#10533 [tests] Use cookie auth instead of rpcuser and rpcpassword
  - bitcoin#8858 Generate auth cookie in hex instead of base64

ACKs for top commit:
  Fuzzbawls:
    Tested ACK 8817d76
  furszy:
    utACK 8817d76

Tree-SHA512: 0d23dbf3d254b186a5378576601cf43f8322abe036b0b135a39b22e13ffa2e299cb1323160d87c7d8284e6aaa229c47f54c8a3a3ebf07cc298e644fb8bd69dc0
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants