summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2022-07-04 20:06:25 +0300
committerGitHub <noreply@github.com>2022-07-04 20:06:25 +0300
commit7a09c9d4b3d74fd0c953f9f097ffecf4af8683d3 (patch)
tree296c4f530072425426bf558258a2e38720fb7b14
parent9400266d8a89427698b43a9470bb172ecae23fe9 (diff)
parent9cda38bbc7ef5debbbdfba267a430d621e6da3d0 (diff)
downloadvyos-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.in12
-rwxr-xr-xsrc/conf_mode/dns_forwarding.py3
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}|@)(?&lt;!\.)</regex>
+ <regex>([-_a-zA-Z0-9.]{1,63}|@|any)(?&lt;!\.)</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}|@)(?&lt;!\.)</regex>
+ <regex>([-_a-zA-Z0-9.]{1,63}|@|any)(?&lt;!\.)</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,