Commit Graph

320 Commits

Author SHA1 Message Date
Shreyas Zare
99ff805add ZoneTree: added out parameter to return closest zone in FindZone(). 2021-06-12 13:32:58 +05:30
Shreyas Zare
7b96918e85 SecondaryZone: added disabled check in TriggerNotify() 2021-06-12 13:31:56 +05:30
Shreyas Zare
3c500d2af9 PrimaryZone: added disabled check in TriggerNotify() 2021-06-12 13:31:39 +05:30
Shreyas Zare
3b72fa06a0 DnsServer: redirecting web browser request to /dns-query to the html info page. 2021-06-05 19:08:59 +05:30
Shreyas Zare
fd41f8de63 DnsServer: implemented enable blocking feature. 2021-05-30 16:39:54 +05:30
Shreyas Zare
71d5918bc4 DnsServer: Implemented blocking type feature with custom address support. Updated QPM limit feature with refused response client blocking feature. Minor corrections and refactoring done. 2021-05-29 13:11:34 +05:30
Shreyas Zare
964f4d8086 BlockListZoneManager: updated code to implement blocking type with custom address feature. 2021-05-29 12:49:31 +05:30
Shreyas Zare
b6a76db11e StatsManager: updated code to track refused response stats per client. 2021-05-29 12:40:19 +05:30
Shreyas Zare
192cf0bb12 CacheZoneManager: fixed null ref exception bug. 2021-05-29 12:23:04 +05:30
Shreyas Zare
8aaa9d5c96 DnsServer: implemented queries per minute limit feature. Updated ProcessZoneTransferQueryAsync() code to implemented new zone transfer options. 2021-05-23 18:05:17 +05:30
Shreyas Zare
dec9f19d5c StatsManager: implemented GetClientStats() method to return per client query count stats for QPM limit feature. 2021-05-23 17:56:20 +05:30
Shreyas Zare
d129c81031 AuthZoneManager: code refactoring done. Updated LoadZoneFrom() to trigger notify for secondary zone. 2021-05-23 17:55:26 +05:30
Shreyas Zare
e6f374b6c5 ForwarderZone: code refactoring done. implemented zone transfer and notify properties. 2021-05-23 17:52:01 +05:30
Shreyas Zare
b000f8e4b3 StubZone: code refactoring done. implemented zone transfer and notify properties. 2021-05-23 17:51:21 +05:30
Shreyas Zare
dddb9c6114 SecondaryZone: implemented notify feature. 2021-05-23 17:49:10 +05:30
Shreyas Zare
fa1e20442f minor code refactoring 2021-05-23 17:47:12 +05:30
Shreyas Zare
3f095df4a8 PrimaryZone: updated code for zone transfer and notify options. 2021-05-23 17:46:53 +05:30
Shreyas Zare
7015194877 minor refactoring done 2021-05-23 17:04:07 +05:30
Shreyas Zare
a1df69dbd8 AuthZoneInfo: updated code to add support for configurable zone transfer and notify options. 2021-05-23 16:54:27 +05:30
Shreyas Zare
d3dc1b8802 AuthZone: implemented AuthZoneTransfer and AuthZoneNotify to support feature to allow configurable options for zone transfer and notify. Added new constructor to assign variables directly from AuthZoneInfo. 2021-05-23 16:51:55 +05:30
Shreyas Zare
d5332e49cd minor refactoring. 2021-05-23 16:49:40 +05:30
Shreyas Zare
3c15e96ec7 DnsServer: Implemented IDnsClient interface for direct querying. Implemented recursion ACL options. 2021-05-16 16:52:46 +05:30
Shreyas Zare
53fc761903 DnsServer: returning ServerFailure when ANAME record fails to resolve any address. 2021-05-09 18:38:21 +05:30
Shreyas Zare
1d838af920 minor code refactoring done. 2021-05-08 16:28:02 +05:30
Shreyas Zare
776b77a165 DnsServer: updated QueryCache() method with correct condition checks for cache response. Removed reset expiry code for stale records since it was moved to cache zone manager. 2021-05-08 16:18:34 +05:30
Shreyas Zare
73094fb692 ResolverPrefetchDnsCache: code refactoring done. 2021-05-08 16:16:54 +05:30
Shreyas Zare
889ee022e7 ResolverDnsCache: updated Query() method with correct check conditions for auth and cache response. 2021-05-08 16:15:19 +05:30
Shreyas Zare
87738f5c65 CacheZoneManager: updated Query() method with serveStaleAndResetExpiry parameter to handle resetting stale records in one place. 2021-05-08 16:12:17 +05:30
Shreyas Zare
486981e7e0 DnsApplicationManager: updated UpdateApplicationAsync() method to avoid overwriting dns app config file while updating the app. 2021-05-08 15:49:43 +05:30
Shreyas Zare
3658007c77 StubZone: updated SetRecords() to support comments for SOA record. 2021-05-08 15:45:08 +05:30
Shreyas Zare
68fa1685f8 SecondaryZone: updated SetRecords() to support comments for SOA record. 2021-05-08 15:44:49 +05:30
Shreyas Zare
96aedcd8d8 PrimaryZone: updated SetRecords() to support comments for SOA record. 2021-05-08 15:44:27 +05:30
Shreyas Zare
e73af2841f DnsResourceRecordExtension: added GetComments() and SetComments() extension methods. 2021-05-08 15:39:26 +05:30
Shreyas Zare
089d0e2dc6 DnsResourceRecordInfo: added comments property to resource records. 2021-05-08 15:38:03 +05:30
Shreyas Zare
55abc83841 StatsManager: updated module to truncate the daily stats file to top 1000 records to prevent loading large amount of data in memory. Updated code to return top 10 query type stats. 2021-05-01 13:56:34 +05:30
Shreyas Zare
eaa16f93d9 DnsServer: added missing response type tags to reflect correctly in stats. Forcing recursive resolution for delegation. Code refactoring done. 2021-04-24 13:19:29 +05:30
Shreyas Zare
270db959f2 ResolverPrefetchDnsCache: updated code to check for null. 2021-04-24 12:47:53 +05:30
Shreyas Zare
b917bc4518 ResolverDnsCache: updated code to check for null. 2021-04-24 12:47:29 +05:30
Shreyas Zare
f006ffb887 CacheZoneManager: added checks to prevent returning root name servers from cache. Code refactoring done. 2021-04-24 12:14:36 +05:30
Shreyas Zare
1d48f1a268 AuthZoneManager: code refactoring done. 2021-04-24 12:12:32 +05:30
Shreyas Zare
d2c5243ecf BlockListZoneManager: code refactoring done. 2021-04-24 12:11:35 +05:30
Shreyas Zare
72ff0edfc7 AuthZoneInfo: code refactoring done. 2021-04-24 12:10:30 +05:30
Shreyas Zare
8825f08e76 DnsServer: updated code for resetting expiry for stale records and moved it into QueryCache() method to allow reseting to occur when the first client's request expires to quickly serve stale for other clients even before the background recursive resolution process completed. 2021-04-17 14:22:09 +05:30
Shreyas Zare
519c9a7145 AuthZoneManager: implemented ResolveCNAME() to resolve CNAME from auth zones in one go for optimization. Using TryGet() method directly in ResolveAdditionalRecords() for optimization. Fixed issue with condition check sequence when returning delegation NS records in QueryClosestDelegation(). 2021-04-17 14:19:09 +05:30
Shreyas Zare
5d1b8ba887 CacheZoneManager: implemented ResolveCNAME() method to resolve CNAME from cache in one go for optimization. Updated ResolveAdditionalRecords() to use direct TryGet() method which costs less. Fixed issue with code condition check sequence when returning delegation NS records in QueryClosestDelegation() and Query() methods. 2021-04-17 14:16:52 +05:30
Shreyas Zare
53873094ff CacheZone: fixed bug in ContainsNameServerRecords() that caused returning true when the NS record contains special cache record. Code updated to use DnsResourceRecord.IsExpired() method to check if record is expired. Minor code refactoring done. 2021-04-17 14:13:20 +05:30
Shreyas Zare
eb1005697e DnsServer: fixed bug in ProcessBlockedQuery() caused by missing else condition check which would cause the server to return Refused response when block zone is not empty and block list zone is empty. 2021-04-11 20:43:34 +05:30
Shreyas Zare
eeac4ec5a6 DnsServer: implemented UseNxDomainForBlocking option. 2021-04-11 17:42:05 +05:30
Shreyas Zare
8e4cfacbb0 BlockListZoneManager: implemented UseNxDomainForBlocking option. 2021-04-11 17:41:05 +05:30
Shreyas Zare
ba7b053bf0 refactored NameError to NxDomain 2021-04-11 17:40:23 +05:30