mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-04 09:41:52 +01:00
Validate port options
Check `port` options for invalid values (ports are parsed as uint16, so in practice values >65535 are invalid; port 0 is undefined and therefore considered invalid too). This allows for an early rejection of faulty values and an supplying an informative message to the user. Splits tests in `feature_proxy.py` to cover both invalid `hostname` and `port` values. Adds a release-note as previously valid `-port` and `-rpcport` values can now result in errors.
This commit is contained in:
committed by
Amadeusz Pawlik
parent
f8387c4234
commit
04526787b5
@@ -317,19 +317,34 @@ class ProxyTest(BitcoinTestFramework):
|
||||
|
||||
self.stop_node(1)
|
||||
|
||||
self.log.info("Test passing invalid -proxy raises expected init error")
|
||||
self.nodes[1].extra_args = ["-proxy=abc:def"]
|
||||
msg = "Error: Invalid -proxy address or hostname: 'abc:def'"
|
||||
self.log.info("Test passing invalid -proxy hostname raises expected init error")
|
||||
self.nodes[1].extra_args = ["-proxy=abc..abc:23456"]
|
||||
msg = "Error: Invalid -proxy address or hostname: 'abc..abc:23456'"
|
||||
self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
|
||||
|
||||
self.log.info("Test passing invalid -onion raises expected init error")
|
||||
self.nodes[1].extra_args = ["-onion=xyz:abc"]
|
||||
msg = "Error: Invalid -onion address or hostname: 'xyz:abc'"
|
||||
self.log.info("Test passing invalid -proxy port raises expected init error")
|
||||
self.nodes[1].extra_args = ["-proxy=192.0.0.1:def"]
|
||||
msg = "Error: Invalid port specified in -proxy: '192.0.0.1:def'"
|
||||
self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
|
||||
|
||||
self.log.info("Test passing invalid -i2psam raises expected init error")
|
||||
self.nodes[1].extra_args = ["-i2psam=def:xyz"]
|
||||
msg = "Error: Invalid -i2psam address or hostname: 'def:xyz'"
|
||||
self.log.info("Test passing invalid -onion hostname raises expected init error")
|
||||
self.nodes[1].extra_args = ["-onion=xyz..xyz:23456"]
|
||||
msg = "Error: Invalid -onion address or hostname: 'xyz..xyz:23456'"
|
||||
self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
|
||||
|
||||
self.log.info("Test passing invalid -onion port raises expected init error")
|
||||
self.nodes[1].extra_args = ["-onion=192.0.0.1:def"]
|
||||
msg = "Error: Invalid port specified in -onion: '192.0.0.1:def'"
|
||||
self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
|
||||
|
||||
self.log.info("Test passing invalid -i2psam hostname raises expected init error")
|
||||
self.nodes[1].extra_args = ["-i2psam=def..def:23456"]
|
||||
msg = "Error: Invalid -i2psam address or hostname: 'def..def:23456'"
|
||||
self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
|
||||
|
||||
self.log.info("Test passing invalid -i2psam port raises expected init error")
|
||||
self.nodes[1].extra_args = ["-i2psam=192.0.0.1:def"]
|
||||
msg = "Error: Invalid port specified in -i2psam: '192.0.0.1:def'"
|
||||
self.nodes[1].assert_start_raises_init_error(expected_msg=msg)
|
||||
|
||||
self.log.info("Test passing invalid -onlynet=i2p without -i2psam raises expected init error")
|
||||
|
||||
Reference in New Issue
Block a user