diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-12-05 12:35:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-05 12:35:41 +0200 |
commit | df9bbe008b3b4ce4df3227867f32e60a71f2703d (patch) | |
tree | 9eb560f4c0e407559aba0ce2854a72c09f86bd80 /src/conf_mode/http-api.py | |
parent | a29aba5d92ad210b95226acfe756794d59068fc3 (diff) | |
parent | 692d2e362860255174076c08001ebe04b6035d3f (diff) | |
download | vyos-1x-df9bbe008b3b4ce4df3227867f32e60a71f2703d.tar.gz vyos-1x-df9bbe008b3b4ce4df3227867f32e60a71f2703d.zip |
Merge pull request #2571 from dmbaturin/https-api-keys-fix-crux
https: T5772: Move API key check to http-api.py
Diffstat (limited to 'src/conf_mode/http-api.py')
-rwxr-xr-x | src/conf_mode/http-api.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/conf_mode/http-api.py b/src/conf_mode/http-api.py index 9c062f0aa..7a8ca883e 100755 --- a/src/conf_mode/http-api.py +++ b/src/conf_mode/http-api.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2019 VyOS maintainers and contributors +# Copyright (C) 2019-2023 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as @@ -59,10 +59,21 @@ def get_config(): key = conf.return_value('keys id {0} key'.format(name)) new_key = { 'id': name, 'key': key } http_api['api_keys'].append(new_key) + else: + raise ConfigError('Missing HTTPS API key string for key id "{}"'.format(name)) return http_api def verify(http_api): + if not http_api: + return None + + # Verify API server settings, if present + keys = http_api['api_keys'] + + if not keys: + raise ConfigError('At least one HTTPS API key is required') + return None def generate(http_api): |