From 16623101ce2db169f3c3af42a9f9345204d503d8 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 21 Sep 2024 17:47:32 +0530 Subject: [PATCH] DnsServer: Updated ProcessAuthoritativeQueryAsync() to use ProcessRecursiveQueryAsync() call for blocking support. --- DnsServerCore/Dns/DnsServer.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/DnsServerCore/Dns/DnsServer.cs b/DnsServerCore/Dns/DnsServer.cs index fbfceef1..2922cfa8 100644 --- a/DnsServerCore/Dns/DnsServer.cs +++ b/DnsServerCore/Dns/DnsServer.cs @@ -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);