ResolverPrefetchDnsCache: updated class to inherit ResolverDnsCache and allow using auth zone for recursive resolution.

This commit is contained in:
Shreyas Zare
2020-06-27 11:58:37 +05:30
parent c74acc6540
commit fe8da4e5c8

View File

@@ -22,20 +22,19 @@ using TechnitiumLibrary.Net.Dns;
namespace DnsServerCore.Dns
{
class ResolverPrefetchDnsCache : IDnsCache
class ResolverPrefetchDnsCache : ResolverDnsCache
{
#region variables
readonly CacheZoneManager _cacheZoneManager;
readonly DnsQuestionRecord _prefetchQuery;
#endregion
#region constructor
public ResolverPrefetchDnsCache(CacheZoneManager cacheZoneManager, DnsQuestionRecord prefetchQuery)
public ResolverPrefetchDnsCache(AuthZoneManager authZoneManager, CacheZoneManager cacheZoneManager, DnsQuestionRecord prefetchQuery)
: base(authZoneManager, cacheZoneManager)
{
_cacheZoneManager = cacheZoneManager;
_prefetchQuery = prefetchQuery;
}
@@ -43,7 +42,7 @@ namespace DnsServerCore.Dns
#region public
public DnsDatagram Query(DnsDatagram request, bool serveStale = false)
public override DnsDatagram Query(DnsDatagram request, bool serveStale = false)
{
if (_prefetchQuery.Equals(request.Question[0]))
{
@@ -51,12 +50,7 @@ namespace DnsServerCore.Dns
return _cacheZoneManager.QueryClosestDelegation(request);
}
return _cacheZoneManager.Query(request, serveStale);
}
public void CacheResponse(DnsDatagram response)
{
_cacheZoneManager.CacheResponse(response);
return base.Query(request, serveStale);
}
#endregion