diff options
author | John Estabrook <jestabro@vyos.io> | 2023-11-21 23:29:38 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-21 23:29:38 -0600 |
commit | af08c30063fb1c68cbf1ca6cae3588efdef34b7d (patch) | |
tree | f567319c5761857d145af9685ee4343402172d61 | |
parent | 02a3e26e88f0ac3c7368e288769bfed38b41df46 (diff) | |
parent | 0e885f1bf01424130b6876e769cc42612b19351b (diff) | |
download | vyos-1x-af08c30063fb1c68cbf1ca6cae3588efdef34b7d.tar.gz vyos-1x-af08c30063fb1c68cbf1ca6cae3588efdef34b7d.zip |
Merge pull request #2519 from c-po/t5762-vhost-port
http: T5762: rename "virtual-host listen-port" -> "virtual-host port"
-rw-r--r-- | interface-definitions/https.xml.in | 14 | ||||
-rw-r--r-- | python/vyos/defaults.py | 3 | ||||
-rw-r--r-- | smoketest/config-tests/basic-api-service | 8 | ||||
-rw-r--r-- | smoketest/configs/basic-api-service | 24 | ||||
-rwxr-xr-x | smoketest/scripts/cli/test_service_https.py | 5 | ||||
-rwxr-xr-x | src/conf_mode/https.py | 4 | ||||
-rwxr-xr-x | src/migration-scripts/https/4-to-5 | 6 |
7 files changed, 43 insertions, 21 deletions
diff --git a/interface-definitions/https.xml.in b/interface-definitions/https.xml.in index 448075b5b..05c552e6b 100644 --- a/interface-definitions/https.xml.in +++ b/interface-definitions/https.xml.in @@ -41,17 +41,9 @@ </constraint> </properties> </leafNode> - <leafNode name='listen-port'> - <properties> - <help>Port to listen for HTTPS requests; default 443</help> - <valueHelp> - <format>u32:1-65535</format> - <description>Numeric IP port</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-65535"/> - </constraint> - </properties> + #include <include/port-number.xml.i> + <leafNode name='port'> + <defaultValue>443</defaultValue> </leafNode> <leafNode name="server-name"> <properties> diff --git a/python/vyos/defaults.py b/python/vyos/defaults.py index a229533bd..b7f39ecb0 100644 --- a/python/vyos/defaults.py +++ b/python/vyos/defaults.py @@ -51,9 +51,6 @@ https_data = { } api_data = { - 'listen_address' : '127.0.0.1', - 'port' : '8080', - 'socket' : False, 'strict' : False, 'debug' : False, 'api_keys' : [ {'id' : 'testapp', 'key' : 'qwerty'} ] diff --git a/smoketest/config-tests/basic-api-service b/smoketest/config-tests/basic-api-service index d78062402..1d2dc3472 100644 --- a/smoketest/config-tests/basic-api-service +++ b/smoketest/config-tests/basic-api-service @@ -5,6 +5,14 @@ set service ntp server time1.vyos.net set service ntp server time2.vyos.net set service ntp server time3.vyos.net set service https api keys id 1 key 'S3cur3' +set service https virtual-host bar allow-client address '172.16.0.0/12' +set service https virtual-host bar port '5555' +set service https virtual-host foo allow-client address '10.0.0.0/8' +set service https virtual-host foo allow-client address '2001:db8::/32' +set service https virtual-host foo port '7777' +set service https virtual-host baz allow-client address '192.168.0.0/16' +set service https virtual-host baz port '6666' +set service https virtual-host baz server-name 'baz' set system config-management commit-revisions '100' set system host-name 'vyos' set system login user vyos authentication encrypted-password '$6$2Ta6TWHd/U$NmrX0x9kexCimeOcYK1MfhMpITF9ELxHcaBU/znBq.X2ukQOj61fVI2UYP/xBzP4QtiTcdkgs7WOQMHWsRymO/' diff --git a/smoketest/configs/basic-api-service b/smoketest/configs/basic-api-service index 98b2ebcf8..f5b56ac98 100644 --- a/smoketest/configs/basic-api-service +++ b/smoketest/configs/basic-api-service @@ -18,8 +18,28 @@ service { } socket } - } - ssh { + virtual-host bar { + allow-client { + address 172.16.0.0/12 + } + listen-port 5555 + server-name bar + } + virtual-host baz { + allow-client { + address 192.168.0.0/16 + } + listen-port 6666 + server-name baz + } + virtual-host foo { + allow-client { + address 10.0.0.0/8 + address 2001:db8::/32 + } + listen-port 7777 + server-name foo + } } } system { diff --git a/smoketest/scripts/cli/test_service_https.py b/smoketest/scripts/cli/test_service_https.py index 4da85fadf..901a1857e 100755 --- a/smoketest/scripts/cli/test_service_https.py +++ b/smoketest/scripts/cli/test_service_https.py @@ -81,7 +81,7 @@ class TestHTTPSService(VyOSUnitTestSHIM.TestCase): test_path = base_path + ['virtual-host', vhost_id] self.cli_set(test_path + ['listen-address', address]) - self.cli_set(test_path + ['listen-port', port]) + self.cli_set(test_path + ['port', port]) self.cli_set(test_path + ['server-name', name]) self.cli_commit() @@ -102,7 +102,7 @@ class TestHTTPSService(VyOSUnitTestSHIM.TestCase): def test_api_auth(self): vhost_id = 'example' address = '127.0.0.1' - port = '443' + port = '443' # default value name = 'localhost' key = 'MySuperSecretVyOS' @@ -110,7 +110,6 @@ class TestHTTPSService(VyOSUnitTestSHIM.TestCase): test_path = base_path + ['virtual-host', vhost_id] self.cli_set(test_path + ['listen-address', address]) - self.cli_set(test_path + ['listen-port', port]) self.cli_set(test_path + ['server-name', name]) self.cli_commit() diff --git a/src/conf_mode/https.py b/src/conf_mode/https.py index 028a5007a..26c4343a0 100755 --- a/src/conf_mode/https.py +++ b/src/conf_mode/https.py @@ -122,7 +122,7 @@ def verify(https): server_block = deepcopy(default_server_block) data = vhost_dict.get(vhost, {}) server_block['address'] = data.get('listen-address', '*') - server_block['port'] = data.get('listen-port', '443') + server_block['port'] = data.get('port', '443') server_block_list.append(server_block) for entry in server_block_list: @@ -156,7 +156,7 @@ def generate(https): server_block['id'] = vhost data = vhost_dict.get(vhost, {}) server_block['address'] = data.get('listen-address', '*') - server_block['port'] = data.get('listen-port', '443') + server_block['port'] = data.get('port', '443') name = data.get('server-name', ['_']) server_block['name'] = name allow_client = data.get('allow-client', {}) diff --git a/src/migration-scripts/https/4-to-5 b/src/migration-scripts/https/4-to-5 index a503e0cb7..0dfb6ac19 100755 --- a/src/migration-scripts/https/4-to-5 +++ b/src/migration-scripts/https/4-to-5 @@ -48,6 +48,12 @@ if config.exists(base + ['api', 'socket']): if config.exists(base + ['api', 'port']): config.delete(base + ['api', 'port']) +# rename listen-port -> port ver virtual-host +if config.exists(base + ['virtual-host']): + for vhost in config.list_nodes(base + ['virtual-host']): + if config.exists(base + ['virtual-host', vhost, 'listen-port']): + config.rename(base + ['virtual-host', vhost, 'listen-port'], 'port') + try: with open(file_name, 'w') as f: f.write(config.to_string()) |