Commit Graph

187 Commits

Author SHA1 Message Date
Shreyas Zare
d50fb087fb DnsServer: made changes to handle gracefull shutdown and restarting the DNS server. 2020-12-25 18:27:04 +05:30
Shreyas Zare
f0dd31ae6d AllowedZoneManager & BlockedZoneManager: Using AuthZoneManager's TotalZones. 2020-12-25 18:25:40 +05:30
Shreyas Zare
8df4c4c0f8 AuthZoneManager: implemented TotalZones for stats usage. 2020-12-25 18:24:28 +05:30
Shreyas Zare
7d75e2f430 StatsManager: added ReloadStats() method. 2020-12-20 16:58:12 +05:30
Shreyas Zare
b79274b26a AuthZoneManager: flushing zone before load to allow reloading. 2020-12-20 16:57:25 +05:30
Shreyas Zare
1e7c156594 BlockListZoneManager: flushing zone before load to allow reloading. 2020-12-20 16:57:01 +05:30
Shreyas Zare
ecfbfa1781 BlockedZoneManager: flushing zone before load to allow reloading. 2020-12-20 16:56:34 +05:30
Shreyas Zare
958f13a200 AllowedZoneManager: flushing zone before load to allow reloading. 2020-12-20 16:56:18 +05:30
Shreyas Zare
e7b42d64a3 StatsManager: implemented cleanup timer to automatically remove old stats files from disk. Added DeleteAllStats() to allow deleting all stats files and clearing in memory stats data. 2020-12-19 12:38:13 +05:30
Shreyas Zare
32243d30e1 DnsServer: added option to control serve stale feature. 2020-12-19 12:36:58 +05:30
Shreyas Zare
e5ec73c7c3 CacheZoneManager: updated serve stale default TTL to 3 days. 2020-12-19 12:35:57 +05:30
Shreyas Zare
9b653fd3a9 BlockListZoneManager: added support for automatic decompression when downloading block list. 2020-12-19 12:35:19 +05:30
Shreyas Zare
d92464e3ab DnsServer: updated code to use Task instead of threads for socket request listeners for all protocols since ReceiveFrom() would not work with SendToAsync due to bug in .NET 5. This change also improves performance significantly. 2020-12-13 19:10:05 +05:30
Shreyas Zare
d18a480dd2 DomainTree: throwing InvalidDomainNameException instead of DnsServerException to allow returning format error response. 2020-12-12 16:40:54 +05:30
Shreyas Zare
849df07c73 DnsServer: returning format error response when domain name is invalid. Setting recursion available flag in response for auth zone when recursion is desired since dns clients like nslookup and dig complain about it otherwise. 2020-12-12 16:40:06 +05:30
Shreyas Zare
31eee972e0 removed workaround code due to issue: https://github.com/dotnet/runtime/issues/37873 2020-12-06 18:08:41 +05:30
Shreyas Zare
bf6f92b542 minor code refactoring done. 2020-12-06 17:00:05 +05:30
Shreyas Zare
143ad95c93 DnsServer: Fixed issue in cache prefetch refresh feature that didnt take into account the Stub and Forwarder zones causing the DNS server to do usual recursive resolution to refresh cache instead of using the zone specified name servers or conditional forwarders. 2020-12-05 19:07:38 +05:30
Shreyas Zare
135c22ebe8 StubZone: updated stub zone to not allow adding records since this will create inconsistency issues when resursive resolvers query the stub zone. Removed stub sub domain zone too. 2020-11-14 16:49:50 +05:30
Shreyas Zare
885c832000 CacheZoneManager: updated code to do additional section processing for NS, MX and SRV queries. 2020-10-31 13:18:50 +05:30
Shreyas Zare
601d1066f8 AuthZoneManager: updated code to do additional section processing for NS, MX and SRV queries. 2020-10-31 13:18:23 +05:30
Shreyas Zare
fdc3f2367f DnsServer: removed constructor that uses machine name as server domain. Updated ProcessCNAME() and ProcessRecursiveQueryAsync() to return additional records for NS, MX and SRV queries. 2020-10-31 13:17:36 +05:30
Shreyas Zare
3781afcd8d CacheZoneManager: fixed issue which caused the cache manager to respond with RCODE refused instead of returning available closest name servers. 2020-10-11 16:15:02 +05:30
Shreyas Zare
09568eadc0 DnsServer: implemented RandomizeName option. 2020-10-04 20:34:19 +05:30
Shreyas Zare
e4bb8c15eb minor change 2020-10-04 14:50:08 +05:30
Shreyas Zare
92e5aa38e1 minor edit 2020-09-12 13:07:02 +05:30
Shreyas Zare
e7ba3ef3b0 DnsServer: implemented DoH wwwroot feature to support certbot webroot cert renewals. Code refactoring done. 2020-09-06 16:51:08 +05:30
Shreyas Zare
4d6ed9f424 AuthZone: added NS record shuffling. 2020-09-05 16:08:41 +05:30
Shreyas Zare
a9bc0e1e7f DnsServer: removed resolver task stuck optimization. Code refactoring done. 2020-09-05 16:08:09 +05:30
Shreyas Zare
e8ed7bd966 fixed issue of allowed and blocked zone not being marked as internal. 2020-08-30 19:05:10 +05:30
Shreyas Zare
c762a4800e DnsServer: setting udp socket buffers to 64kB to improve performance. 2020-08-29 16:50:21 +05:30
Shreyas Zare
46b576a166 ResolverTask: added for async resolution. 2020-08-29 14:37:17 +05:30
Shreyas Zare
c7a8348819 removed ResolverQueryHandle 2020-08-29 14:36:15 +05:30
Shreyas Zare
bae6b0483a DnsServer: using separate forwarder and resolver settings. Implemented async methods for request processing and for resolver. Using intependent task scheduler for resolver. Added resolver task stuck check to allow using quick stale response. 2020-08-29 14:36:00 +05:30
Shreyas Zare
7a9db44855 StatsManager: using BlockingCollection. 2020-08-29 14:29:11 +05:30
Shreyas Zare
2b37a4c7f1 StubZone: implemented async methods. 2020-08-29 14:28:15 +05:30
Shreyas Zare
70434194fc SecondaryZone: implemented async methods. 2020-08-29 14:26:29 +05:30
Shreyas Zare
4ffe2cc139 PrimaryZone: implemented async methods. 2020-08-29 14:25:44 +05:30
Shreyas Zare
d137fd59ab AuthZoneInfo: using async methods. 2020-08-29 14:25:09 +05:30
Shreyas Zare
140b96928e AuthZone: using async methods. 2020-08-29 14:24:50 +05:30
Shreyas Zare
3cfbec8883 AuthZoneManager: Zone creation, loading and sync checks added. 2020-08-29 14:23:58 +05:30
Shreyas Zare
dfb5cd054d BlockListZoneManager: added duplicate url check in LoadBlockLists(). Updated code to use async methods with HttpClient. 2020-08-29 14:19:24 +05:30
Shreyas Zare
926fa2c93a BlockedZoneManager: fixed bug caused by an existing blocked.config file from older installations. 2020-08-29 14:17:24 +05:30
Shreyas Zare
cc5cc5dff5 minor code refactoring done. 2020-08-29 14:16:32 +05:30
Shreyas Zare
690ac9de2d StatsManager: updated maintenance timer interval to count stats early. 2020-07-18 12:08:56 +05:30
Shreyas Zare
f9be5c7f3d DnsServer: updated min threads count code. 2020-07-18 12:07:57 +05:30
Shreyas Zare
8387bc5e27 DomainTree: throwing correct exception. 2020-07-18 12:05:27 +05:30
Shreyas Zare
d12c07ad6b DnsServer: added name of the domain that was blocked in TXT record. Updated min thread count to improve performance. Fixed bugs in CNAME cloaking implementation. 2020-07-12 15:35:42 +05:30
Shreyas Zare
c2da7784f6 BlockListZoneManager: added name of the domain that was blocked in TXT record. 2020-07-12 15:34:03 +05:30
Shreyas Zare
8e37a337ed DnsServer: fixed missing port in UpdateThisServer(). 2020-07-11 13:48:40 +05:30