AuthZone: fixed issues in GetNameServerAddressesAsync(). Code refactoring done.

This commit is contained in:
Shreyas Zare
2021-07-10 14:44:05 +05:30
parent 53c41d6add
commit 07f2943cda
2 changed files with 13 additions and 8 deletions

View File

@@ -355,15 +355,20 @@ namespace DnsServerCore.Dns.Zones
return nameServers;
}
public Task<IReadOnlyList<NameServerAddress>> GetNameServerAddressesAsync(DnsServer dnsServer)
public async Task<IReadOnlyList<NameServerAddress>> GetAllNameServerAddressesAsync(DnsServer dnsServer)
{
DnsResourceRecord soaRecord = _entries[DnsResourceRecordType.SOA][0];
IReadOnlyList<NameServerAddress> primaryNameServers = await GetPrimaryNameServerAddressesAsync(dnsServer);
IReadOnlyList<NameServerAddress> secondaryNameServers = await GetSecondaryNameServerAddressesAsync(dnsServer);
IReadOnlyList<NameServerAddress> primaryNameServers = soaRecord.GetPrimaryNameServers();
if (primaryNameServers.Count > 0)
return Task.FromResult(primaryNameServers);
if (secondaryNameServers.Count < 1)
return primaryNameServers;
return GetSecondaryNameServerAddressesAsync(dnsServer);
List<NameServerAddress> allNameServers = new List<NameServerAddress>(primaryNameServers.Count + secondaryNameServers.Count);
allNameServers.AddRange(primaryNameServers);
allNameServers.AddRange(secondaryNameServers);
return allNameServers;
}
public void SyncRecords(Dictionary<DnsResourceRecordType, List<DnsResourceRecord>> newEntries)

View File

@@ -154,8 +154,8 @@ namespace DnsServerCore.Dns.Zones
_isExpired = DateTime.UtcNow > _expiry;
//get name server addresses
IReadOnlyList<NameServerAddress> nameServers = await GetNameServerAddressesAsync(_dnsServer);
//get all name server addresses
IReadOnlyList<NameServerAddress> nameServers = await GetAllNameServerAddressesAsync(_dnsServer);
if (nameServers.Count == 0)
{