diff --git a/DnsServerCore/Dns/Zone.cs b/DnsServerCore/Dns/Zone.cs index c57e88c7..837a0535 100644 --- a/DnsServerCore/Dns/Zone.cs +++ b/DnsServerCore/Dns/Zone.cs @@ -204,7 +204,7 @@ namespace DnsServerCore.Dns } foreach (Zone subDomain in subDomainsToDelete) - currentZone._zones.TryRemove(subDomain._zoneLabel, out Zone deletedValue); + currentZone._zones.TryRemove(subDomain._zoneLabel, out _); return (currentZone._zones.Count == 0); } @@ -384,6 +384,9 @@ namespace DnsServerCore.Dns } } + if (_authoritativeZone && (type == DnsResourceRecordType.CNAME) && _entries.ContainsKey(DnsResourceRecordType.SOA)) + throw new DnsServerException("Cannot add CNAME record to zone root."); + _entries.AddOrUpdate(type, records, delegate (DnsResourceRecordType key, DnsResourceRecord[] existingValues) { return records;