Shreyas Zare
|
aa0a7ef6f6
DnsServer: Updated code to write more specific error log for dynamic updates security policy.
|
1 year ago |
Shreyas Zare
|
74ab6b9596
DnsServer: removed RD flag check for conditional forwarder zones.
|
1 year ago |
Shreyas Zare
|
560567a79e
DnsServer: updated ProcessDoHRequestAsync() to make the accept header optional. Updated RecursiveResolveAsync() to include extended dns error in response.
|
1 year ago |
Shreyas Zare
|
aa950351c0
DnsServer: updated ProcessUdpRequestAsync() to remove glue for SRV, SVCB and HTTPS along with MX when response is getting truncated. Updated PostProcessQueryAsync(), RecursiveResolveAsync(), and PrepareRecursiveResolveResponse() to support ECS for all record types.
|
1 year ago |
Shreyas Zare
|
78979c3a46
DnsServer: Updated ProcessAuthoritativeQueryAsync() to fix conditional forwarder recursion condition to allow conditional forwarding when recursion is denied in settings but is desired by the request.
|
1 year ago |
Shreyas Zare
|
3bc39fc28a
DnsServer: updated error message to include question.
|
1 year ago |
Shreyas Zare
|
46d4e17856
DnsServer: Implemented socket pool feature for port randomization on windows platform. Updated AuthoritativeQueryAsync() to check the auth zone before querying DNS apps. Updated RecursiveResolveAsync() and ConditionalForwarderResolveAsync() to support conditional forwarding client subnet. Updated DoH web server to serve unknown file types for certbot webroot HTTP challenge. Fixed issue in ServerDomain property when invalid domain name was set.
|
1 year ago |
Shreyas Zare
|
a462b3097a
DnsServer: Updated ProcessRecursiveQueryAsync() to return rcode from blocked response.
|
1 year ago |
Shreyas Zare
|
0bcb233e1c
DnsServer: Updated ProcessUdpRequestAsync() to limit the response side to the configured udp payload size to limit amplification attack issue reported by Xiang Li. Updated ProcessAuthoritativeQueryAsync() to prevent conditional forwarding when request does not have RD flag set as reported by Xiang Li.
|
1 year ago |
Shreyas Zare
|
bbf4a2e773
DnsServer: updated ProcessUdpRequestAsync() to handle truncation for MX response to allow trying once after removing glue records before sending a TC response due to issues with some old mail servers that do not retry over TCP when TC response is received. Updated ProcessRecursiveQueryAsync() to use EDNS request to allow relaying extended DNS error response from blocked zone to client.
|
1 year ago |
Shreyas Zare
|
c1f287528b
DnsServer: fixed issue in DNS-over-HTTP private IP check causing 403 with reverse proxy.
|
1 year ago |
Shreyas Zare
|
fa82a737e9
DnsServer: Updated ProcessAuthoritativeQueryAsync() by moving query code into separate AuthoritativeQueryAsync() method. Updated ProcessCNAME(), ProcessANAME(), and CachePrefetchSamplingTimerCallback() to use AuthoritativeQueryAsync(). Updated "this-server" implementation to move checking code into RecursiveResolveAsync(). Code refactoring changes done.
|
1 year ago |
Shreyas Zare
|
089634f1f3
DnsServer: setting default blocking type to NX domain. Implemented independent query task scheduler to handle incoming requests. Implemented new DirectQueryAsync() method.
|
1 year ago |
Shreyas Zare
|
8239139015
DnsServer: removed doh-port 80 compatibility option. Updated ProcessBlockedQuery() to support extended dns error for blocked domain report. Updated ProcessRecusriveQueryAsync() to support new response types. Updated RecursiveResolveAsync() to use new ResolveDnsCache object with skip option enabled. Updated PrepareRecursiveResolveResponse() to copy dns client extended errors to get similar response as from cache.
|
1 year ago |
Shreyas Zare
|
ebc6e5f1f3
DnsServer: merged doh web apps.
|
1 year ago |
Shreyas Zare
|
31aa04c1c5
DnsServer: Updated ProcessConnectionAsync() to add timeout condition for AuthenticateAsServerAsync() call. Updated ProcessAPPAsync() to decide on correct RCODE to be used for response.
|
1 year ago |
Shreyas Zare
|
d1ab424f57
DnsServer: Implemented IAsyncDisposable. Implemented DNS-over-QUIC optional protocol support. Replaced old DNS-over-HTTPS web server with Kestrel to support HTTP/2 and HTTP/3. Code refactoring done.
|
1 year ago |
Shreyas Zare
|
1fa22609e9
DnsServer: Removed newtonsoft. Removed doh-json support. Updated ProcessNotifyQueryAsync() and ProcessUpdateQueryAsync() to add log messages.
|
1 year ago |
Shreyas Zare
|
e7e0c4bed6
DnsServer: Updated PostProcessQuery() to add ECS option in response only when the request actually had it. Updated RecursiveResolveAsync() to use ECS only when the qtype is supported. Updated RecursiveResolveAsync() to add missing ECS option to the dns client for forwarders. Updated PrepareRecursiveResolveResponse() to fix ECS condition.
|
1 year ago |
Shreyas Zare
|
d82293c688
DnsServer: implemented ECS support.
|
2 years ago |
Shreyas Zare
|
e36fb906da
DnsServer: updated PostProcessQueryAsync() to return response without EDNS when request does not have EDNS.
|
2 years ago |
Shreyas Zare
|
a66531a942
DnsServer: implemented support for new IDnsPostProcessor interface in PostProcessQueryAsync(). Updated ProcessAPPAsync() implementation to allow APP record to return null response when used with Forwarder zones so that the DNS server processes FWD records in such case. Other minor code refactoring changes done.
|
2 years ago |
Shreyas Zare
|
a9c4b70c23
DnsServer: Updated ProcessUpdateQueryAsync() to support dynamic updates security policy. Updated ProcessCNAMEAsync() to detect CNAME loops. Updated ProcessANAMEAsync() to detect loops.
|
2 years ago |
Shreyas Zare
|
a0a904fc89
DnsServer: updated ProcessUpdateQueryAsync() to check for permissions for secondary zone case, and to use the same tsig key from the update request.
|
2 years ago |
Shreyas Zare
|
20651a2328
DnsServer: implemented dynamic updates RFC 2136 support. Updated ProcessZoneTransferQueryAsync() to stop allowing zone transfer from loopback.
|
2 years ago |
Shreyas Zare
|
69a10a1fb5
merged multi-user into develop
|
2 years ago |
Shreyas Zare
|
f2ffc891a0
DnsServer: updated ProcessAPPAsync() to support new APP interface changes. Updated ProcessCNAMEAsync() to use the correct DO flag in new request.
|
2 years ago |
Shreyas Zare
|
8e2cec124a
DnsServer: updated code for stats manager related changes.
|
2 years ago |
Shreyas Zare
|
814d1c2fd2
DnsServer: updated resolver retries default value to 2. Updated RecursiveResolveAsync() to enable async NS resolution feature when doing recursive resolution.
|
2 years ago |
Shreyas Zare
|
afbbc57da4
DnsServer: updated ProcessDoHRequestAsunc() to remove trailing period from qname for HttpsJson transport protocol. Updated RecursiveResolveAsync() to handle IOException to show correct extended dns error.
|
2 years ago |
Shreyas Zare
|
9ea77190d3
DnsServer: updated ProcessUdpRequestAsync() to add OPT to truncation response when request has OPT.
|
2 years ago |
Shreyas Zare
|
17edbced83
DnsServer: updated ProcessZoneTransferQueryAsync() to implement AllowBothZoneAndSpecifiedNameServers option.
|
2 years ago |
Shreyas Zare
|
33eb5d2266
DnsServer: updated PrepareRecursiveResolveResponse() to handle ANY response correctly.
|
2 years ago |
Shreyas Zare
|
a879af9caa
DnsServer: updated PrepareRecursiveResolveResponse() & RemoveOPTFromAdditional() to remove DNSSEC records when not requested. Updated CacheMaintenanceTimerCallback() to force garbage collection after removing cache records to quickly free memory.
|
2 years ago |
Shreyas Zare
|
317310579c
DnsServer: updated ProcessANAMEAsync() to set last used on value when returning authority records for ANAME response.
|
2 years ago |
Shreyas Zare
|
32169d9313
DnsServer: Updated RecursiveResolveAsync() forwarder implementation to use ConditionalForwardingZoneCut option to trim CNAME records in response to allow the DNS server to query each CNAME separately for cases when conditional forwarder is configured for a CNAME domain.
|
2 years ago |
Shreyas Zare
|
2e3b153a03
DnsServer: updated ProcessBlockedQuery() to handle other type requests correctly. Updated RecursiveResolveAsync() to handle exceptions to add exdended dns errors to failure responses when forwarder is configured.
|
2 years ago |
Shreyas Zare
|
648a28cc2e
DnsServer: Updated ProcessANAMEAsync() to correctly handle NO DATA and error responses.
|
2 years ago |
Shreyas Zare
|
312cfb11ec
DnsServer: updated min thread count based on load test.
|
2 years ago |
Shreyas Zare
|
39920870ba
DnsServer: Updated default settings. Updated PreProcessQueryAsync() and ProcessAuthoritativeQueryAsync() to handle dns app errors. Implemented conditional forwarding zone support for controlling DNSSEC validation for `this-server` option. Added validation for properties.
|
2 years ago |
Shreyas Zare
|
fa417216f3
major code refactoring done.
|
2 years ago |
Shreyas Zare
|
fc422563a3
DnsServer: updated DnssecValidation property to clear cache when switching on DNSSEC validation to remove all unvalidated cached records.
|
2 years ago |
Shreyas Zare
|
cc2e546678
DnsServer: fixed minor issue and code refactoring changes done.
|
2 years ago |
Shreyas Zare
|
428ae224ca
DnsServer: implemented DNSSEC. Implemented new conditional forwarder changes.
|
2 years ago |
Shreyas Zare
|
35a22bae12
DnsServer: minor refactoring done in PostProcessQuery().
|
3 years ago |
Shreyas Zare
|
13791e1d60
DnsServer: implemented EDNS support.
|
3 years ago |
Shreyas Zare
|
0254f9f96c
DnsServer: Added logs in ProcessZoneTransferQueryAsync() to give reasons for why zone transfer was refused. Fixed cache poisoning issue that can be done via conditional forwarder by adding sanitization checks.
|
3 years ago |
Shreyas Zare
|
2aae0f6896
DnsServer: refactored code to move parsing error checks into PreProcessQueryAsync() and to allow request controller dns apps to inspect the requests to allow droping them. Updated ProcessQueryAsync() to not return FormatError when a request received has response flag set to avoid loops.
|
3 years ago |
Shreyas Zare
|
3abf126b8d
DnsServer: implemented allow txt blocking report option. Minor changes done.
|
3 years ago |
Shreyas Zare
|
fbb6716927
minor changes
|
3 years ago |