From 11e25707683138d4a5a64a3717160edb84816182 Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Thu, 4 May 2023 23:19:49 +0200 Subject: dns-forwarding: T5193: implement NS resource type --- interface-definitions/dns-forwarding.xml.in | 28 ++++++++++++++++++++++++++++ src/conf_mode/dns_forwarding.py | 4 ++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in index 61f297f0a..de6991e06 100644 --- a/interface-definitions/dns-forwarding.xml.in +++ b/interface-definitions/dns-forwarding.xml.in @@ -277,6 +277,34 @@ #include + + + NS record + + txt + A DNS name relative to the root record + + + ([-_a-zA-Z0-9.]{1,63}|@)(?<!\.) + + + + + + Target DNS server authoritative for subdomain + + nsXX.example.com + Absolute DNS name + + + [-_a-zA-Z0-9.]{1,63}(?<!\.) + + + + #include + #include + + PTR record diff --git a/src/conf_mode/dns_forwarding.py b/src/conf_mode/dns_forwarding.py index b7214caf7..0d86c6a52 100755 --- a/src/conf_mode/dns_forwarding.py +++ b/src/conf_mode/dns_forwarding.py @@ -99,7 +99,7 @@ def get_config(config=None): recorddata = zonedata['records'] - for rtype in [ 'a', 'aaaa', 'cname', 'mx', 'ptr', 'txt', 'spf', 'srv', 'naptr' ]: + for rtype in [ 'a', 'aaaa', 'cname', 'mx', 'ns', 'ptr', 'txt', 'spf', 'srv', 'naptr' ]: if rtype not in recorddata: continue for subnode in recorddata[rtype]: @@ -126,7 +126,7 @@ def get_config(config=None): 'ttl': rdata['ttl'], 'value': address }) - elif rtype in ['cname', 'ptr']: + elif rtype in ['cname', 'ptr', 'ns']: rdefaults = defaults(base + ['authoritative-domain', 'records', rtype]) # T2665 rdata = dict_merge(rdefaults, rdata) -- cgit v1.2.3