Skip to content

Commit

Permalink
tests: Modify rpc_bind to conform to bitcoin#14532 behaviour.
Browse files Browse the repository at this point in the history
- Even when rpcallowip is specified, only bind localhost
- Explicitly bind in run_allowip_test
  • Loading branch information
dongcarl authored and furszy committed Aug 10, 2021
1 parent d4d6729 commit 647d60b
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions test/functional/rpc_bind.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,12 @@ def run_allowip_test(self, allow_ips, rpchost, rpcport):
at a non-localhost IP.
'''
self.log.info("Allow IP test for %s:%d" % (rpchost, rpcport))
base_args = ['-disablewallet', '-nolisten'] + ['-rpcallowip='+x for x in allow_ips]
node_args = \
['-disablewallet', '-nolisten'] + \
['-rpcallowip='+x for x in allow_ips] + \
['-rpcbind='+addr for addr in ['127.0.0.1', "%s:%d" % (rpchost, rpcport)]] # Bind to localhost as well so start_nodes doesn't hang
self.nodes[0].rpchost = None
self.start_nodes([base_args])
self.start_nodes([node_args])
# connect to node through non-loopback interface
node = get_rpc_proxy(rpc_url(get_datadir_path(self.options.tmpdir, 0), 0, "%s:%d" % (rpchost, rpcport)), 0, coveragedir=self.options.coveragedir)
node.getnetworkinfo()
Expand Down Expand Up @@ -109,9 +112,9 @@ def _run_loopback_tests(self):
# check default without rpcallowip (IPv4 and IPv6 localhost)
self.run_bind_test(None, '127.0.0.1', [],
[('127.0.0.1', self.defaultport), ('::1', self.defaultport)])
# check default with rpcallowip (IPv6 any)
# check default with rpcallowip (IPv4 and IPv6 localhost)
self.run_bind_test(['127.0.0.1'], '127.0.0.1', [],
[('::0', self.defaultport)])
[('127.0.0.1', self.defaultport), ('::1', self.defaultport)])
# check only IPv6 localhost (explicit)
self.run_bind_test(['[::1]'], '[::1]', ['[::1]'],
[('::1', self.defaultport)])
Expand Down

0 comments on commit 647d60b

Please sign in to comment.