summaryrefslogtreecommitdiff
path: root/src/conf_mode
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2021-12-10 14:41:23 -0600
committerJohn Estabrook <jestabro@vyos.io>2021-12-14 09:53:35 -0600
commit1b0007a01fd541b5f31ed94518e786a998bd6f43 (patch)
tree6e65e64f79a6f97fc1ca3667f468ba129ac0154b /src/conf_mode
parentce2b74fbcd5718a88bcaa26e1aa2b31549fcc5bb (diff)
downloadvyos-1x-1b0007a01fd541b5f31ed94518e786a998bd6f43.tar.gz
vyos-1x-1b0007a01fd541b5f31ed94518e786a998bd6f43.zip
http-api: T4071: allow API to bind to unix domain socket
(cherry picked from commit 0e3c35e6517f5cfebb4206c735a2ea976a7fd383)
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-xsrc/conf_mode/http-api.py11
-rwxr-xr-xsrc/conf_mode/https.py2
2 files changed, 9 insertions, 4 deletions
diff --git a/src/conf_mode/http-api.py b/src/conf_mode/http-api.py
index 4bfcbeb47..cd0191599 100755
--- a/src/conf_mode/http-api.py
+++ b/src/conf_mode/http-api.py
@@ -31,7 +31,7 @@ from vyos.util import call
from vyos import airbag
airbag.enable()
-config_file = '/etc/vyos/http-api.conf'
+api_conf_file = '/etc/vyos/http-api.conf'
vyos_conf_scripts_dir=vyos.defaults.directories['conf_mode']
@@ -55,10 +55,13 @@ def get_config(config=None):
conf.set_level('service https api')
if conf.exists('strict'):
- http_api['strict'] = 'true'
+ http_api['strict'] = True
if conf.exists('debug'):
- http_api['debug'] = 'true'
+ http_api['debug'] = True
+
+ if conf.exists('socket'):
+ http_api['socket'] = True
if conf.exists('port'):
port = conf.return_value('port')
@@ -88,7 +91,7 @@ def generate(http_api):
if not os.path.exists('/etc/vyos'):
os.mkdir('/etc/vyos')
- with open(config_file, 'w') as f:
+ with open(api_conf_file, 'w') as f:
json.dump(http_api, f, indent=2)
return None
diff --git a/src/conf_mode/https.py b/src/conf_mode/https.py
index 05f245509..96c50b4b5 100755
--- a/src/conf_mode/https.py
+++ b/src/conf_mode/https.py
@@ -123,6 +123,8 @@ def get_config(config=None):
vhosts = https_dict.get('api-restrict', {}).get('virtual-host', [])
if vhosts:
api_data['vhost'] = vhosts[:]
+ if 'socket' in list(api_settings):
+ api_data['socket'] = True
if api_data:
vhost_list = api_data.get('vhost', [])