diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2022-07-04 20:06:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-04 20:06:25 +0300 |
commit | 7a09c9d4b3d74fd0c953f9f097ffecf4af8683d3 (patch) | |
tree | 296c4f530072425426bf558258a2e38720fb7b14 | |
parent | 9400266d8a89427698b43a9470bb172ecae23fe9 (diff) | |
parent | 9cda38bbc7ef5debbbdfba267a430d621e6da3d0 (diff) | |
download | vyos-1x-7a09c9d4b3d74fd0c953f9f097ffecf4af8683d3.tar.gz vyos-1x-7a09c9d4b3d74fd0c953f9f097ffecf4af8683d3.zip |
Merge pull request #1382 from sever-sever/T4378
dns: T4378: Allow wildcard A AAAA record with option all
-rw-r--r-- | interface-definitions/dns-forwarding.xml.in | 12 | ||||
-rwxr-xr-x | src/conf_mode/dns_forwarding.py | 3 |
2 files changed, 13 insertions, 2 deletions
diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in index 12dc11de5..baff4a841 100644 --- a/interface-definitions/dns-forwarding.xml.in +++ b/interface-definitions/dns-forwarding.xml.in @@ -133,8 +133,12 @@ <format>@</format> <description>Root record</description> </valueHelp> + <valueHelp> + <format>any</format> + <description>Wildcard record (any subdomain)</description> + </valueHelp> <constraint> - <regex>([-_a-zA-Z0-9.]{1,63}|@)(?<!\.)</regex> + <regex>([-_a-zA-Z0-9.]{1,63}|@|any)(?<!\.)</regex> </constraint> </properties> <children> @@ -166,8 +170,12 @@ <format>@</format> <description>Root record</description> </valueHelp> + <valueHelp> + <format>any</format> + <description>Wildcard record (any subdomain)</description> + </valueHelp> <constraint> - <regex>([-_a-zA-Z0-9.]{1,63}|@)(?<!\.)</regex> + <regex>([-_a-zA-Z0-9.]{1,63}|@|any)(?<!\.)</regex> </constraint> </properties> <children> diff --git a/src/conf_mode/dns_forwarding.py b/src/conf_mode/dns_forwarding.py index f1c2d1f43..41023c135 100755 --- a/src/conf_mode/dns_forwarding.py +++ b/src/conf_mode/dns_forwarding.py @@ -98,6 +98,9 @@ def get_config(config=None): dns['authoritative_zone_errors'].append('{}.{}: at least one address is required'.format(subnode, node)) continue + if subnode == 'any': + subnode = '*' + for address in rdata['address']: zone['records'].append({ 'name': subnode, |