diff --git a/DnsServerCore/Zone.cs b/DnsServerCore/Zone.cs index 687de429..842c0a88 100644 --- a/DnsServerCore/Zone.cs +++ b/DnsServerCore/Zone.cs @@ -292,6 +292,16 @@ namespace DnsServerCore return allRecords.ToArray(); } + private void ListAuthoritativeZones(List zones) + { + DnsResourceRecord[] soa = QueryRecords(DnsResourceRecordType.SOA, true); + if (soa != null) + zones.Add(this); + + foreach (KeyValuePair entry in _zones) + entry.Value.ListAuthoritativeZones(zones); + } + private void SetRecords(DnsResourceRecordType type, DnsResourceRecord[] records) { _entries.AddOrUpdate(type, records, delegate (DnsResourceRecordType key, DnsResourceRecord[] existingRecords) @@ -500,16 +510,6 @@ namespace DnsServerCore return glueRecords.ToArray(); } - private void GetAuthoritativeZones(List zones) - { - DnsResourceRecord[] soa = QueryRecords(DnsResourceRecordType.SOA, true); - if (soa != null) - zones.Add(this); - - foreach (KeyValuePair entry in _zones) - entry.Value.GetAuthoritativeZones(zones); - } - private static DnsDatagram QueryAuthoritative(Zone rootZone, DnsDatagram request) { DnsQuestionRecord question = request.Question[0]; @@ -929,7 +929,7 @@ namespace DnsServerCore return new ZoneInfo[] { }; //no zone for given domain List zones = new List(); - currentZone.GetAuthoritativeZones(zones); + currentZone.ListAuthoritativeZones(zones); List zoneNames = new List();