DnsServer: Updated ProcessAuthoritativeQueryAsync() to use ProcessRecursiveQueryAsync() call for blocking support.

This commit is contained in:
Shreyas Zare
2024-09-21 17:47:32 +05:30
parent 76b8112745
commit 16623101ce

View File

@@ -2126,18 +2126,15 @@ namespace DnsServerCore.Dns
case DnsResourceRecordType.NS:
if (request.RecursionDesired && isRecursionAllowed)
{
//do forced recursive resolution using empty conditional forwarders; name servers will be provided via ResolverDnsCache
response = await RecursiveResolveAsync(request, remoteEP, [], _dnssecValidation, false, false, skipDnsAppAuthoritativeRequestHandlers);
reprocessResponse = true;
//do forced recursive resolution (with blocking support) using empty conditional forwarders; name servers will be provided via ResolverDnsCache
return await ProcessRecursiveQueryAsync(request, remoteEP, protocol, [], _dnssecValidation, false, skipDnsAppAuthoritativeRequestHandlers);
}
break;
case DnsResourceRecordType.FWD:
//do conditional forwarding
response = await RecursiveResolveAsync(request, remoteEP, response.Authority, _dnssecValidation, false, false, skipDnsAppAuthoritativeRequestHandlers);
reprocessResponse = true;
break;
//do conditional forwarding (with blocking support)
return await ProcessRecursiveQueryAsync(request, remoteEP, protocol, response.Authority, _dnssecValidation, false, skipDnsAppAuthoritativeRequestHandlers);
case DnsResourceRecordType.APP:
response = await ProcessAPPAsync(request, response, remoteEP, protocol, isRecursionAllowed, skipDnsAppAuthoritativeRequestHandlers);