diff options
Diffstat (limited to 'src/services')
-rwxr-xr-x | src/services/vyos-hostsd | 16 | ||||
-rwxr-xr-x | src/services/vyos-http-api-server | 2 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/services/vyos-hostsd b/src/services/vyos-hostsd index 5c2ea71c8..5fb7a68ab 100755 --- a/src/services/vyos-hostsd +++ b/src/services/vyos-hostsd @@ -22,6 +22,7 @@ import time import json import signal import traceback +import re import zmq @@ -154,14 +155,10 @@ def add_name_servers(data, entries, tag): def delete_name_servers(data, tag): name_servers = data['name_servers'] - keys_for_deletion = [] - - for ns in name_servers: - if name_servers[ns]['tag'] == tag: - keys_for_deletion.append(ns) - - for k in keys_for_deletion: - del name_servers[k] + regex_filter = re.compile(tag) + for ns in list(name_servers.keys()): + if regex_filter.match(name_servers[ns]['tag']): + del name_servers[ns] def set_host_name(state, data): if data['host_name']: @@ -174,8 +171,9 @@ def set_host_name(state, data): def get_name_servers(state, tag): ns = [] data = state['name_servers'] + regex_filter = re.compile(tag) for n in data: - if data[n]['tag'] == tag: + if regex_filter.match(data[n]['tag']): ns.append(n) return ns diff --git a/src/services/vyos-http-api-server b/src/services/vyos-http-api-server index 1abaed873..9b6d7e979 100755 --- a/src/services/vyos-http-api-server +++ b/src/services/vyos-http-api-server @@ -24,6 +24,7 @@ import traceback import threading import vyos.config +import vyos.util import bottle @@ -212,6 +213,7 @@ def get_value(): config_format = command['configFormat'] res = session.show_config(path=command['path']) + res = vyos.util.escape_backslash(res) if config_format == 'json': config_tree = vyos.configtree.ConfigTree(res) res = json.loads(config_tree.to_json()) |