Commit Graph

30 Commits

Author SHA1 Message Date
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
ac249e7843 DnsServer: updated ProcessNotifyQuery() and ProcessZoneTransferQuery() to reuse code. 2020-06-28 19:42:44 +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
Shreyas Zare
3abb76fe8d DnsServer: implemented ResolverDnsCache for recursive resolution. Updated ProcessQuery() to change the sequence of checking for blocked zones to allow blocking correctly in case of stub zone or forwarder zone being used. Fixed implementation changes in ProcessAuthoritativeQuery(), ProcessCNAME(), ProcessANAME() and ProcessRecursiveQuery(). RecursiveResolveAsync() stopped caching failure record in case of exception due to undesirable side effects for clients. CachePrefetchSamplingAsync() added zone type checks. Code refactoring done. 2020-06-27 12:03:54 +05:30
Shreyas Zare
9cdb21acd0 DnsServer: updated ProcessZoneTransferQuery() with zone checks using AuthZoneInfo. 2020-06-20 19:14:21 +05:30
Shreyas Zare
8703c9fb57 DnsServer: implemented DnsDatagram parsing changes. 2020-06-20 14:17:28 +05:30
Shreyas Zare
f00cdad2ab Fixed socket dispose getting blocked issue with work around. More info on the issue: https://github.com/dotnet/runtime/issues/37873 2020-06-14 19:57:21 +05:30
Shreyas Zare
07c7a8c5b7 renamed MasterNameServer to PrimaryNameServer. 2020-06-14 12:40:40 +05:30
Shreyas Zare
f7e8fb7158 DnsServer: implemented ProcessNotifyQuery() to handle notify requests for secondary zones. 2020-06-13 17:28:38 +05:30
Shreyas Zare
8d43f71fc7 DnsServer: fixed AXFR permission issue in ProcessZoneTransferQuery() by checking remote ip against glue addresses for name servers. 2020-06-13 16:34:26 +05:30
Shreyas Zare
5e73584a81 DnsServer: fixed condition checks to allow querying for ANAME record. 2020-06-13 16:01:47 +05:30
Shreyas Zare
bf959c483a DnsServer: fixed bugs in ANAME resolution. Fixed serve-stale issue by only returning stale answers that have NoError rcode. Minor code refactoring done. 2020-06-13 15:48:59 +05:30
Shreyas Zare
a965e69d93 code refactoring done. 2020-06-13 14:17:14 +05:30
Shreyas Zare
0e3ef7be3e DnsServer: Added log parameter to constructor to allow logging errors while loading zones. Implemented conditional forwarding changes. 2020-06-13 13:53:28 +05:30
Shreyas Zare
cef548df89 DnsServer: implemented local end points option. Implemented new zone managers. Implemented ANAME feature. Implemented conditional forwarding. Implemented CNAME cloaking. Multiple fixes and code refactoring done. 2020-06-06 16:43:44 +05:30
Shreyas Zare
7a1e2a4396 DnsServer: updated code to implement AuthZoneManager, CacheZoneManager and BlockListZoneManager. Implemented new recursive resolver code using wait handles to fix thread contention issues. Removed doh-servers-associated json response support. Changed zone processing sequence to auth, allowed, blocked, blocklist, and finally recursive. Implemented CNAME cloaking checks. Code refactoring done. 2020-05-23 17:03:58 +05:30
Shreyas Zare
2c2875cdba DnsServer: fixed x-real-ip parsing issue in ProcessDoHRequest(). Fixed IXFR issue in ProcessQuery(). 2020-05-10 13:37:40 +05:30
Shreyas Zare
4d0c6ac80b DnsServer: Increased listener thread count to 4. Implemented handling of response parsing error correctly with FormatError response in return. 2020-03-15 17:23:03 +05:30
Shreyas Zare
fcd6cd53a0 minor code optimization changes done. 2020-02-29 18:16:05 +05:30
Shreyas Zare
ceeb9d708f DnsServer: implemented changes to prevent domain cloaking to bypass domain name blocking. 2020-02-22 12:24:54 +05:30
Shreyas Zare
52f472f987 implemented zone transfer. code refactoring done. 2020-01-04 12:44:53 +05:30
Shreyas Zare
2e571fba3a DnsServer: implemented DirectQuery() method to allow internal dns resolution. 2019-12-29 14:55:06 +05:30
Shreyas Zare
508f61de33 minor refactoring changes 2019-12-14 18:19:37 +05:30
Shreyas Zare
5bb9a8c8dd DnsServer: removed draft-ietf-doh-resolver-associated-doh implementation since the draft is expired. 2019-12-14 17:52:56 +05:30
Shreyas Zare
0deba1f705 DnsServer: fixed bug in Start() due to incorrect exception handing causing the server to crash when socket object fails to instantiate. Updated SOA default parameters. 2019-12-14 16:55:16 +05:30
Shreyas Zare
fdb686a9af DnsServer: implemented stats manager changes. 2019-06-29 12:12:36 +05:30
Shreyas Zare
95d7c7abd7 DnsServer: implemented internal zone option. 2019-06-15 18:05:44 +05:30
Shreyas Zare
3338038867 dns server code refactoring done. 2019-06-15 13:28:39 +05:30