Commit Graph

61 Commits

Author SHA1 Message Date
Shreyas Zare
92d9379793 fixed string comparison issue caused with certain system locale. 2019-05-01 19:36:41 +05:30
Shreyas Zare
4bb8f0d272 DnsServer: implemented ResetPrefetchTimers() to reset timers from Start() and via trigger property. 2019-04-28 19:15:27 +05:30
Shreyas Zare
977f165606 DnsServer: implemented max hops for recursive resolution. Cache prefetch implementation updated. 2019-04-28 17:09:07 +05:30
Shreyas Zare
7be67e8aab DnsServer: fixed minor issues. 2019-04-20 13:15:27 +05:30
Shreyas Zare
c6bd070bd3 DnsServer: implemented cache maintenance to remove expired records. 2019-04-13 16:10:53 +05:30
Shreyas Zare
389718c7ec DnsServer: prefetch timer periodic firing method changed. 2019-04-13 11:46:57 +05:30
Shreyas Zare
497f8633ab DnsServer: prefetch feature updated to configure total minutes to sample and per minute hit rate. 2019-04-07 17:27:33 +05:30
Shreyas Zare
bc977209f9 DnsServer: implemented prefetch feature for frequently queried domain names. 2019-04-07 15:05:36 +05:30
Shreyas Zare
c68634177d DnsServer: RecursiveResolve() implementation flow corrected wrt optimization. 2019-04-06 12:44:08 +05:30
Shreyas Zare
3bfd7b5dc6 minor changes 2019-03-31 17:02:44 +05:30
Shreyas Zare
ea5a1aab45 DnsServer: implemented draft-ietf-dnsop-serve-stale-04 in RecursiveResolve(). 2019-03-30 17:07:48 +05:30
Shreyas Zare
873f5953be DnsServer: fixed issue with DoH Uri template as per example given in draft-ietf-doh-resolver-associated-doh-03 2019-03-24 15:15:07 +05:30
Shreyas Zare
9308933db2 code refactoring done 2019-03-24 15:10:40 +05:30
Shreyas Zare
eb0e06189a DnsServer: added checks for DoH so that DoH discovery related records are only added/updated when DoH is enabled. 2019-03-23 13:20:16 +05:30
Shreyas Zare
5b141f794a DnsServer: implemented DNS-over-HTTP without TLS termination for use with reverse proxy like nginx. Implemented draft-ietf-doh-resolver-associated-doh to allow applications to discover associated DoH endpoint to use automatically. 2019-03-09 15:26:28 +05:30
Shreyas Zare
2f8c1a97c8 DnsServer: implemented DoT and DoH protocol support. 2019-03-02 20:05:05 +05:30
Shreyas Zare
4d1c1e06bc fixed issue of missing server domain for blocked zone when setting new zone. 2019-01-20 10:48:26 +05:30
Shreyas Zare
dc18202b21 fixed bug caused due to server domain not set for allowed and blocked zone objects. 2019-01-19 20:33:04 +05:30
Shreyas Zare
8be08448a0 DnsServer: bug fixed in ProcessRecursiveQuery caused by forwarders was being passed for name server parameter. 2019-01-13 19:03:59 +05:30
Shreyas Zare
bbb1cb427b minor code refactoring done 2019-01-13 13:31:30 +05:30
Shreyas Zare
8cdedb086e DnsServer: delegated zone recursive resolution done via authoritative name servers instead of configured forwarders. Zone changes done to allow delegating zone. 2019-01-13 13:22:30 +05:30
Shreyas Zare
0eb5c11eac DnsServer: setting timeout, buffer size and nodelay on listener socket. Using WriteBufferedStream to ensure multiple packets are not transmitted. 2019-01-12 17:55:37 +05:30
Shreyas Zare
873fec457d Added DNS Server local address binding success log entry and added another constuctor. 2019-01-06 16:46:07 +05:30
Shreyas Zare
b03571656f minor implementation changes 2019-01-05 15:42:45 +05:30
Shreyas Zare
3ae358e892 Added tcp protocol indication when logging with end points. 2019-01-05 15:23:11 +05:30
Shreyas Zare
3b5f079199 DnsServer: service start and stop related changes done to work with most platforms. 2018-12-30 16:44:58 +05:30
Shreyas Zare
56e343d652 DnsServer: custom multiple local end point support added to allow binding on specific networks. 2018-12-29 16:37:07 +05:30
Shreyas Zare
a8df872e86 DnsServer: fixed bug caused when tcp connection is disposed and RemoteEndPoint is called to log the error. 2018-12-23 19:17:02 +05:30
Shreyas Zare
55f56bd583 DnsServer: tcp send and receive timeout made configurable. added retries parameter for recursive resolution wait timeout. 2018-12-15 14:46:04 +05:30
Shreyas Zare
f624707e8b DnsServer: updated TCP timeout defaults for keeping alive existing connection for reuse. Updated default retry setting to 3 for limiting ServerFailure responses. Implemented DNS over TCP recommendations as per RFC 7766. Implemented cache hit feature. Fixed issues with RecursiveResolve() to limit ServerFailure responses. 2018-12-09 17:05:02 +05:30
Shreyas Zare
4e0cbc4bbc DnsServer: updated TCP recv timeout to 60 sec. 2018-11-17 12:27:57 +05:30
Shreyas Zare
21c5cfdb5c platform not supported issue handled. 2018-10-13 15:11:38 +05:30
Shreyas Zare
7015e44ef6 minor change 2018-10-13 11:50:54 +05:30
Shreyas Zare
a61c6943a1 DnsServer: removed forwarder domain name resolution feature to fix DNS-over-TLS issue. 2018-10-07 01:17:44 +05:30
Shreyas Zare
deebb64a2c DnsServer: allowed zone added to override blocked zone. retries value set to 1 & timeout parameter added. Recursive query lock implemented to limit only one thread perform recursive resolution for a given domain & type query. Blocked zone change added to never return NameError. Block zone object property set method implemented to allow swapping new zone. 2018-10-05 23:52:43 +05:30
Shreyas Zare
e17d64ff17 DnsServer: blocked response tagging implemented. 2018-10-01 00:17:58 +05:30
Shreyas Zare
faed8468ea DnsServer: implemented StatsManager. 2018-09-30 00:22:04 +05:30
Shreyas Zare
69164b3cfa DnsServer: tcp timeout values reduced. 2018-09-22 17:10:52 +05:30
Shreyas Zare
845b745b0d DnsServer: blocked zone implemented to allow blocking. 2018-09-16 16:17:14 +05:30
Shreyas Zare
abaa9ba7e1 DnsServer: Multiple udp read threads feature added for better performance. 2018-08-18 11:45:41 +05:30
Shreyas Zare
41af4ba69f DnsServer: SocketException (0x80004005) fixed in ReadUdpQueryPacketsAsync() caused by ICMP TTL expiry by handling SocketError.NetworkReset case. 2018-08-16 23:28:45 +05:30
Shreyas Zare
214c939334 DnsServer: Increased threadpool min threads based on cpu cores. Increased connection limit to handle DoH load. Fixed udp datagram too long bug. Using thread abort to stop listener threads when stop() is called since the thread wont exit without reading a packet. 2018-08-15 18:55:53 +05:30
Shreyas Zare
352a2a1999 DnsServer: removed obsolete code usage. Code refactoring done. Fixed tcp response reading bug caused by small recv buffer size than the packet length. ProcessAuthoritativeQuery() updated to do recursion if auth zone has delegated subdomain. 2018-08-11 12:09:44 +05:30
Shreyas Zare
42bac1aa43 DnsServer: added internal method to access cache. 2018-08-05 17:05:28 +05:30
Shreyas Zare
59c4800e23 DnsServer: added recursion only for private network option. 2018-08-04 15:07:55 +05:30
Shreyas Zare
edfb654699 DnsServer: threadpool thread set to 128. tcp listner backlog count set to 100. Updated forwarder property to resolve domain end point for given forwarders to make it work with quad9 DNS-over-TLS service. 2018-08-04 12:59:51 +05:30
Shreyas Zare
a83545442a forwarder config serialization implemented to support DoH Uri. 2018-06-17 23:20:28 +05:30
Shreyas Zare
ed206ebb98 DnsServer: forwarder protocol option and proxy support added. 2018-06-16 23:05:27 +05:30
Shreyas Zare
4c8be25d41 DnsServer: implemented max stack count DnsClient feature. Implemented separate query response logging. fixed minor issue with Tcp request processing. 2017-12-16 20:28:11 +05:30
Shreyas Zare
2f6f434895 DnsServer: implemented log manager. 2017-12-11 00:16:17 +05:30