Commit Graph

166 Commits

Author SHA1 Message Date
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
Shreyas Zare
2847335c99 DnsServer: fixed issue of reading DnsDatagram from DoH request. 2020-07-06 18:19:43 +05:30
Shreyas Zare
722591a1e4 DnsServer: added ThisServer property to provide correct name server address of this server. Added logging to help debugging. Updated code to select conditional forwarders without this-server entry when there are multiple FWD records. Added GetResolverQueryKey() to correctly generate query key. 2020-07-04 16:38:17 +05:30
Shreyas Zare
10e132c8cb AuthZoneManager: code refactoring done. 2020-07-04 16:35:33 +05:30
Shreyas Zare
df6d34817d StubZone: updated initial interval to 5 sec for quick start. Added log entry to indicate start of refresh. Updated RefreshZone() to use TCP transport for zone sync to avoid issues when primary server responds with partial glue records in additional section without TC set. 2020-07-04 16:34:52 +05:30
Shreyas Zare
84c38dd3e4 SecondaryZone: updated initial interval to 5 sec for quick start. Added log entry to indicate start of refresh. 2020-07-04 16:33:13 +05:30
Shreyas Zare
d15296824c AuthZone: using SetGlueRecords() which is correct glue record copy operation in SyncRecords(). 2020-07-04 16:32:13 +05:30
Shreyas Zare
d103e729be ZoneTree: fixed bug in TryRemove() which caused removal of all sub domains of another zone in tree branch. 2020-07-04 16:31:10 +05:30
Shreyas Zare
4de8c5c8cf DnsResourceRecordExtension: code refactoring done. 2020-07-04 16:29:44 +05:30
Shreyas Zare
ac249e7843 DnsServer: updated ProcessNotifyQuery() and ProcessZoneTransferQuery() to reuse code. 2020-06-28 19:42:44 +05:30
Shreyas Zare
237c9e75dc AuthZoneManager: code refactoring done. 2020-06-28 19:41:56 +05:30
Shreyas Zare
9f88d6a4e6 StubZone: Added locks for reseting timer. Changed implementation to create new zone. 2020-06-28 19:40:58 +05:30
Shreyas Zare
a6e913852b SecondaryZone: Added locks for reseting timer. Changed implementation to create new zone. 2020-06-28 19:40:32 +05:30
Shreyas Zare
816eba7545 AuthZoneInfo: added GetPrimaryNameServerAddresses() and GetSecondaryNameServerAddresses(). 2020-06-28 19:39:09 +05:30
Shreyas Zare
02c8ae8400 AuthZone: added checks in GetNameServerAddresses() to prevent exceptions. Made GetPrimaryNameServerAddresses() public, used GetRecords() for getting NS records and updated implementation to use addresses from NS record and from glue records. Made GetSecondaryNameServerAddresses() public and used GetRecords() for getting NS records. Updated GetRecords() to return empty array if no records are found. Optimized ContainsNameServerRecords() code. 2020-06-28 19:38:34 +05:30
Shreyas Zare
f326110514 CacheZone: optimized code in ContainsNameServerRecords(). 2020-06-28 19:32:44 +05:30
Shreyas Zare
a6b8c66a19 DnsResourceRecordExtension: added SetGlueRecords() and refactored old method to SyncGlueRecords(). 2020-06-28 19:31:17 +05:30
Shreyas Zare
f98a451180 AuthZoneManager: fixed issue in QueryZoneTransferRecords() which caused extra SOA record. Removed special case in SyncRecords(). Updated delegation check sequence back to original in Query(). 2020-06-28 16:38:59 +05:30
Shreyas Zare
ee0847d316 timeout values updated as per DnsClient implementation changes. 2020-06-28 15:52:47 +05:30
Shreyas Zare
d9862308af SecondaryZone: updated AXFR timeout to 5 mins per retry to allow waiting for longer time to refresh zone. Updated initial soa refresh and retry values for quick retries. Updated RefreshZone() to use all name servers to do zone transfer. 2020-06-27 17:40:32 +05:30
Shreyas Zare
03ea47fd8e StubZone: updated initial soa refresh and retry values for quick retries. Updated RefreshZone() to use same name servers to do zone sync. 2020-06-27 17:39:01 +05:30
Shreyas Zare
21eb4dd7d3 DnsServer: replaced ConcurrentDictionary with DomainTree to manage resolver query handles to have a complete lock less lookup code. 2020-06-27 15:38:42 +05:30