CacheZoneManager: Updated Query() to use FindZone call only when its required to find closest name servers else it will use TryGet to directly get the value from tree.

This commit is contained in:
Shreyas Zare
2022-03-06 15:50:24 +05:30
parent 1281e04c12
commit 7bc6ff9e70

View File

@@ -341,7 +341,20 @@ namespace DnsServerCore.Dns.ZoneManagers
{
DnsQuestionRecord question = request.Question[0];
CacheZone zone = _root.FindZone(question.Name, out CacheZone closest, out CacheZone delegation);
CacheZone zone;
CacheZone closest = null;
CacheZone delegation = null;
if (findClosestNameServers)
{
zone = _root.FindZone(question.Name, out closest, out delegation);
}
else
{
if (!_root.TryGet(question.Name, out zone))
_ = _root.FindZone(question.Name, out closest, out _); //zone not found; attempt to find closest
}
if (zone is not null)
{
//zone found