From 7c3ff95d221ea699541a2918b4748fc53fae4d62 Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Tue, 23 Jun 2020 09:39:00 +0200 Subject: [PATCH] check for possible CNAME overrides of A/AAAA record in dns-editor, fixes #864 Signed-off-by: Michael Kaufmann --- lib/Froxlor/Dns/Dns.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/Froxlor/Dns/Dns.php b/lib/Froxlor/Dns/Dns.php index ba8518a9..8d0b329c 100644 --- a/lib/Froxlor/Dns/Dns.php +++ b/lib/Froxlor/Dns/Dns.php @@ -168,6 +168,13 @@ class Dns // use the first NS entry as primary ns $primary_ns = $entry['content']; } + // check for CNAME on @, www- or wildcard-Alias and remove A/AAAA record accordingly + foreach (['@', 'www', '*'] as $crceord) { + if ($entry['type'] == 'CNAME' && $entry['record'] == '@' && (array_key_exists(md5($crceord), $required_entries['A']) || array_key_exists(md5($crceord), $required_entries['AAAA']))) { + unset($required_entries['A'][md5($crceord)]); + unset($required_entries['AAAA'][md5($crceord)]); + } + } $zonerecords[] = new DnsEntry($entry['record'], $entry['type'], $entry['content'], $entry['prio'], $entry['ttl']); }