0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-08 10:31:50 -05:00
bitcoin-bitcoin-core/test/functional/test_framework
Ava Chow bef99176e6
Merge bitcoin/bitcoin#27114: p2p: Allow whitelisting manual connections
0a533613fb docs: add release notes for #27114 (brunoerg)
e6b8f19de9 test: add coverage for whitelisting manual connections (brunoerg)
c985eb854c test: add option to speed up tx relay/mempool sync (brunoerg)
66bc6e2d17 Accept "in" and "out" flags to -whitelist to allow whitelisting manual connections (Luke Dashjr)
8e06be347c net_processing: Move extra service flag into InitializeNode (Luke Dashjr)
9133fd69a5 net: Move `NetPermissionFlags::Implicit` verification to `AddWhitelistPermissionFlags` (Luke Dashjr)
2863d7dddb net: store `-whitelist{force}relay` values in `CConnman` (brunoerg)

Pull request description:

  Revives #17167. It allows whitelisting manual connections. Fixes #9923

  Since there are some PRs/issues around this topic, I'll list some motivations/comments for whitelisting outbound connections from them:
  - Speed-up tx relay/mempool sync for testing purposes (my personal motivation for this) - In #26970, theStack pointed out that we whitelist peers to speed up tx relay for fast mempool synchronization, however, since it applies only for inbound connections and considering the topology `node0 <--- node1 <---- node2 <--- ... <-- nodeN`,  if a tx is submitted from any node other than node0, the mempool synchronization can take quite long.
  - https://github.com/bitcoin/bitcoin/pull/29058#issuecomment-1865155764 - "Before enabling -v2transport by default (which I'd image may happen after https://github.com/bitcoin/bitcoin/pull/24748) we could consider a way to force manual connections to be only-v1 or even only-v2 (disabling reconnect-with-v1). A possibility could be through a net permission flag, if https://github.com/bitcoin/bitcoin/pull/27114 makes it in."
  - https://github.com/bitcoin/bitcoin/pull/17167#issuecomment-1168606032 - "This would allow us to use https://github.com/bitcoin/bitcoin/pull/25355 when making outgoing connections to all nodes, except to whitelisted ones for which we would use our persistent I2P address."
  - Force-relay/mempool permissions for a node you intentionally connected to.

ACKs for top commit:
  achow101:
    ACK 0a533613fb
  sr-gi:
    re-ACK [0a53361](0a533613fb)
  pinheadmz:
    ACK 0a533613fb

Tree-SHA512: 97a79bb854110da04540897d2619eda409d829016aafdf1825ab5515334b0b42ef82f33cd41587af235b3af6ddcec3f2905ca038b5ab22e4c8a03d34f27aebe1
2024-03-12 12:59:02 -04:00
..
crypto test: speedup bip324_cipher.py unit test 2024-02-06 01:35:03 +01:00
__init__.py Rename rpc-tests directory to functional 2017-03-20 10:40:31 -04:00
address.py refactor: move address_to_scriptpubkey to address.py 2023-03-28 16:54:28 +01:00
authproxy.py test: Rename EncodeDecimal to serialization_fallback 2023-06-29 19:51:43 +02:00
bdb.py scripted-diff: Bump copyright headers 2021-11-10 11:10:24 +01:00
bip340_test_vectors.csv tests: add BIP340 Schnorr signature support to test framework 2020-10-12 17:18:47 -07:00
blockfilter.py Merge bitcoin/bitcoin#28605: Fix typos 2023-11-16 10:35:49 +00:00
blocktools.py refactor: use address_to_scriptpubkey to retrieve addresses scriptpubkey 2023-03-28 16:58:16 +01:00
coverage.py test: fix PEP484 no implicit optional argument types errors 2023-06-29 16:14:07 -06:00
descriptors.py Output a descriptor in createmultisig and addmultisigaddress 2020-01-30 23:55:36 -05:00
key.py Merge bitcoin/bitcoin#28374: test: python cryptography required for BIP 324 functional tests 2023-11-07 16:48:57 -05:00
messages.py test: Fix CPartialMerkleTree.nTransactions signedness 2024-02-01 13:18:40 +01:00
netutil.py doc: Fix Broken Links 2024-02-27 13:56:23 -08:00
p2p.py Merge bitcoin/bitcoin#29356: test: make v2transport arg in addconnection mandatory and few cleanups 2024-02-06 11:02:36 +00:00
psbt.py test: PSBT: eliminate magic numbers for global unsigned tx key (0) 2023-03-04 12:43:38 +01:00
script.py test: Fix SegwitV0SignatureMsg nLockTime signedness 2024-02-07 12:07:44 +01:00
script_util.py scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
segwit_addr.py Use Bech32m encoding for v1+ segwit addresses 2021-03-16 10:48:36 -07:00
socks5.py test: add keep_alive option to socks5 proxy in test_framework 2023-07-10 10:07:45 -04:00
test_framework.py Merge bitcoin/bitcoin#27114: p2p: Allow whitelisting manual connections 2024-03-12 12:59:02 -04:00
test_node.py test: ignore --v2transport for older versions instead of asserting 2024-02-29 13:50:19 -05:00
test_shell.py scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
util.py tests: Provide more helpful assert_equal errors 2024-02-29 20:42:58 +10:00
v2_p2p.py [test] make v2transport arg in addconnection mandatory and few cleanups 2024-01-31 22:37:54 +05:30
wallet.py test framework: Add and use option for tx-version in MiniWallet methods 2024-02-08 21:50:55 +00:00
wallet_util.py test: Add Wallet Unlock Context Manager 2023-10-10 18:12:31 +03:00