Commit Graph

260 Commits

Author SHA1 Message Date
Shreyas Zare
a6f839d68c DnsServer: updated cache maintenance timers to 15 mins. Updated sequence of quering for allowed and blocked zones since the old sequence was not optimal for the current state of code. Added RCODE check in RecursiveResolveAsync() before returning the response so that serve stale works when failure response is received. 2021-04-03 12:47:45 +05:30
Shreyas Zare
7975f07f42 ResolverPrefetchDnsCache: fixed prefetch query handling so that auth zone is also queried along with cache zone to get the most relevant closest name servers. 2021-04-03 12:33:32 +05:30
Shreyas Zare
2dd9b89e74 AuthZoneManager: implemented QueryClosestDelegation(). 2021-04-03 12:32:23 +05:30
Shreyas Zare
f8230ce7a1 CacheZoneManager: updated code to require DnsServer reference to read serve stale option. 2021-04-03 12:31:51 +05:30
Shreyas Zare
68a0864938 CacheZone: updated SetRecords() to consider if serve stale is enabled or not. Updated RemoveExpiredRecords() implementation to consider serve stale and for code optimization. 2021-04-03 12:30:46 +05:30
Shreyas Zare
c79512886c DnsServer: updated ANY request handling in ProcessQueryAsync(). 2021-03-29 15:28:08 +05:30
Shreyas Zare
557df24ade DnsServer: minor optimizations done. 2021-03-27 20:16:15 +05:30
Shreyas Zare
1378845b2c DnsServer: ignoring incomplete udp requests in ReadUdpRequestAsync(). Updated ProcessANAMEAsync() to allow supporting multiple ANAME record processing for a domain concurrently. Minor code refactoring done. 2021-03-27 16:42:38 +05:30
Shreyas Zare
5dfaad2c92 AuthZoneManager: added GetRecords() method to directly get the records without querying. 2021-03-27 16:37:46 +05:30
Shreyas Zare
bdf40ac1aa DnsApplication: added version for app. 2021-03-27 16:36:32 +05:30
Shreyas Zare
4db2098b0f CacheZoneManager: added validation for '*' in CacheRecords() to prevent abuse due to caching wildcard response. Fixed null ref exception in GetAdditionalRecords(). 2021-03-27 16:35:07 +05:30
Shreyas Zare
a2da395f69 ZoneTree: fixed index out of bound exception in FindNodeValue(). 2021-03-27 16:33:32 +05:30
Shreyas Zare
4b58b412f7 DnsServer: updated ProcessANAMEAsync() to resolve multiple ANAME records concurrently. Fixed ANAME resolution bug caused by checking first RR. 2021-03-21 20:45:33 +05:30
Shreyas Zare
c0479442d5 AuthZoneManager: allowing to update specific ANAME record in RR set. 2021-03-21 20:39:45 +05:30
Shreyas Zare
9c5c15cc97 AuthZone: allowing to add multiple ANAME records. 2021-03-21 20:39:11 +05:30
Shreyas Zare
8de579fbdf BlockListZoneManager: implemented allow list url feature. 2021-03-21 20:02:07 +05:30
Shreyas Zare
5caf6e9a71 DnsApplicationManager: handled exception in UnloadAllApplications() for each app dispose. Added UpdateApplicationAsync() to update existing app and reload it. 2021-03-21 17:27:59 +05:30
Shreyas Zare
4dc58a748a DnsServer: implemented socket async calls from .net5 in ReadUdpRequestAsync() and ProcessUdpRequestAsync(). Added missing connection close http header in DoH responses. Detecting protocol from content-type header when accept header is missing in ProcessDoHRequestAsync(). Forcing TCP for ANY queries via UDP in ProcessQueryAsync(). Passing recursion allowed flag to auth zone queries. 2021-03-21 16:48:29 +05:30
Shreyas Zare
4b6d83f27a ResolverDnsCache: passing recursion available flag. 2021-03-21 16:42:53 +05:30
Shreyas Zare
c264bc8793 BlockedZoneManager: passing recursion allowed flag. 2021-03-21 16:42:21 +05:30
Shreyas Zare
cfc6cb3d00 AllowedZoneManager: passing recursion allowed flag. 2021-03-21 16:41:56 +05:30
Shreyas Zare
2f56309b2f AuthZoneManager: added isRecursionAllowed parameter to return response with correct flag set. 2021-03-21 16:41:15 +05:30
Shreyas Zare
5ef9d83a49 BlockListZoneManager: removed Flush() call in LoadBlockLists() before loading new data. 2021-03-21 16:40:00 +05:30
Shreyas Zare
d9bc59f3c3 CacheZoneManager: removed DnsANYRecord usage. 2021-03-21 16:38:33 +05:30
Shreyas Zare
92aa52a269 minor refactoring 2021-03-21 16:37:50 +05:30
Shreyas Zare
0a10b97235 AuthZone: fixed QueryRecords() implementation for ANY request. 2021-03-21 16:35:51 +05:30
Shreyas Zare
ed9eba4f63 CacheZone: minor changes. 2021-03-21 16:34:38 +05:30
Shreyas Zare
2d013cfad9 CacheZone: removed usage of DnsCache.DnsANYRecord any correctly implement ANY. 2021-03-21 16:34:10 +05:30
Shreyas Zare
9d8af9b383 DnsServer: Updated auto prefetch sampling implementation to correctly process CNAME records from auth zones. 2021-03-13 13:19:12 +05:30
Shreyas Zare
f43affb2bb DnsApplication: added exception logging when loading dll. Letting the app load even when no request handler was loaded to allow uninstalling from the UI. 2021-03-13 13:17:51 +05:30
Shreyas Zare
53943007d5 PrimaryZone: added support for APP record. 2021-03-13 13:16:24 +05:30
Shreyas Zare
cc34cf3065 AuthZoneManager: removed application zone and instead added APP record processing to primary zone. 2021-03-13 13:15:45 +05:30
Shreyas Zare
19d44a2286 removed application zone 2021-03-13 13:11:12 +05:30
Shreyas Zare
89ddcda5bd DnsServer: Updated code with implementation changes. Added code to stop responding to FWD and APP queries to avoid record data disclosure. Updated APP record processing. 2021-03-06 16:38:24 +05:30
Shreyas Zare
deb9ff8706 AuthZoneManager: updated GetApplicationResponse to respond with SOA when there is no APP record available. Updated CreateApplicationZone to create app zone similar to primary zone. Added support to APP record in UpdateRecord. Added missing app zone type in ListZones(). 2021-03-06 16:36:16 +05:30
Shreyas Zare
03a51d3d22 CacheZone: fixed bug in QueryRecords() which returned CNAME with special dns record RDATA. Updated SetRecords to remove old CNAME only when its RDATA is DnsCNAMERecord. 2021-03-06 16:34:17 +05:30
Shreyas Zare
0002a5c850 ApplicationSubDomainZone: updated code to work like a primary sub domain zone for application zone. 2021-03-06 16:32:41 +05:30
Shreyas Zare
8c0a42c659 ApplicationZone: updated code to make the zone work like a primary zone with SOA and NS records with auto increment SOA serial. 2021-03-06 16:32:00 +05:30
Shreyas Zare
c0402c96d4 DnsApplicationManager: refactoring done. improved app loading and unloading, installation and uninstallation implementation. 2021-03-06 16:30:47 +05:30
Shreyas Zare
60e2805a29 DnsApplication: refactored code and implemented dll loading, unloading, init and dispose correctly. 2021-03-06 16:29:30 +05:30
Shreyas Zare
a194b634aa DnsServerInternal: code refactoring done. added new interface methods. 2021-03-06 16:28:18 +05:30
Shreyas Zare
15847039b3 added DnsApplicationCommon project with the IDnsApplicationRequestHandler and IDnsServer interfaces. 2021-03-06 16:26:59 +05:30
Shreyas Zare
a2b4f00c0b DnsServer: fixed issue of added ttl parameter. 2021-02-27 19:43:25 +05:30
Shreyas Zare
b8e6f971e5 added DnsServerInternal 2021-02-27 19:42:30 +05:30
Shreyas Zare
e629af8d01 added IDnsServer 2021-02-27 19:42:11 +05:30
Shreyas Zare
c818c64647 added IDnsApplication 2021-02-27 19:41:59 +05:30
Shreyas Zare
18f7d73132 added DnsApplicationManager 2021-02-27 19:41:36 +05:30
Shreyas Zare
90a471af97 added DnsApplicationPackage 2021-02-27 19:41:03 +05:30
Shreyas Zare
d95c8132d0 added DnsApplicationAssemblyLoadContext 2021-02-27 19:39:25 +05:30
Shreyas Zare
5eddfbdda1 DnsServer: implemented app zone querying and execution logic. Added qname minimization setting. Removed feature to specify initial name servers for recursive resolution and instead providing closest name servers via ResolverDnsCache based on auth zone and cache zone. 2021-02-27 19:35:17 +05:30