mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-09 04:02:25 +01:00
net, init: derive default onion port if a user specified a -port
After port collisions are no longer tolerated but lead to a startup failure in v28.0, local setups of multiple nodes, each with a different -port value would not be possible anymore due to collision of the onion default port - even if the nodes were using tor or not interested in receiving onion inbound connections. Fix this by deriving the onion listening port to be -port + 1. (idea by vasild / laanwj) Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
This commit is contained in:
@@ -221,10 +221,9 @@ class TestNode():
|
||||
extra_args = self.extra_args
|
||||
|
||||
# If listening and no -bind is given, then bitcoind would bind P2P ports on
|
||||
# 0.0.0.0:P and 127.0.0.1:18445 (for incoming Tor connections), where P is
|
||||
# 0.0.0.0:P and 127.0.0.1:P+1 (for incoming Tor connections), where P is
|
||||
# a unique port chosen by the test framework and configured as port=P in
|
||||
# bitcoin.conf. To avoid collisions on 127.0.0.1:18445, change it to
|
||||
# 127.0.0.1:tor_port().
|
||||
# bitcoin.conf. To avoid collisions, change it to 127.0.0.1:tor_port().
|
||||
will_listen = all(e != "-nolisten" and e != "-listen=0" for e in extra_args)
|
||||
has_explicit_bind = self.has_explicit_bind or any(e.startswith("-bind=") for e in extra_args)
|
||||
if will_listen and not has_explicit_bind:
|
||||
|
||||
Reference in New Issue
Block a user