Commit Graph

721 Commits

Author SHA1 Message Date
Shreyas Zare
abf7435be7 AuthZoneManager: updated GetAdditionalRecords() and ResolveAdditionalRecords() to support SVCB and HTTPS records. Updated DeleteRecord() and DeleteRecords() to return bool. Updated Query() to support SVCB and HTTPS glue records. 2023-05-20 18:01:52 +05:30
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. 2023-05-01 19:57:08 +05:30
Shreyas Zare
3bc39fc28a DnsServer: updated error message to include question. 2023-04-29 13:33:24 +05:30
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. 2023-04-23 16:24:45 +05:30
Shreyas Zare
79ae0c5632 PrimaryZone: implemented soa serial date scheme support. 2023-04-23 16:20:35 +05:30
Shreyas Zare
6554367ad7 AuthZone: updated RefreshSignatures() to fix RRSIG check. Updated GetUpdatedNSecRRSet() to simplify implementation. Updated CreateNSec3RRSet() and GetPartialNSec3Record() to fix bug in NSEC3 type list. 2023-04-23 16:19:33 +05:30
Shreyas Zare
216695a3cd CacheZone: added support for conditional forwarding client subnet. 2023-04-23 16:15:12 +05:30
Shreyas Zare
1d3a1c5c3b CacheZoneManager: added support for conditional forwarding client subnet. 2023-04-23 16:12:58 +05:30
Shreyas Zare
0e0481d0a1 CacheRecordInfo: added support for conditional forwarding client subnet. 2023-04-23 16:10:27 +05:30
Shreyas Zare
821af41210 AuthRecordInfo: added support for soa serial date scheme. 2023-04-23 16:09:58 +05:30
Shreyas Zare
1361a78ae7 DnsServerInternal: updated code to return new cache object to skip authoritative request handler calls. 2023-04-23 16:09:09 +05:30
Shreyas Zare
a462b3097a DnsServer: Updated ProcessRecursiveQueryAsync() to return rcode from blocked response. 2023-03-18 13:39:23 +05:30
Shreyas Zare
444baf1b03 BlockListZoneManager: using HttpClientNetworkHandler for retries and custom DNS resolution support. 2023-03-18 13:36:56 +05:30
Shreyas Zare
f7a1d80aeb DnsServerInternal: implemented IDnsClient.ResolveAsync(). 2023-03-18 13:35:51 +05:30
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. 2023-03-11 15:17:59 +05:30
Shreyas Zare
611641dced code refactoring changes 2023-03-11 15:14:11 +05:30
Shreyas Zare
0ca9232a52 BlockListZoneManager: updated UpdateBlockListsAsync() to perform http retries. 2023-03-11 15:13:21 +05:30
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. 2023-03-05 19:26:05 +05:30
Shreyas Zare
157115b48e ResolverDnsCache: minor refactoring change. 2023-03-05 19:22:31 +05:30
Shreyas Zare
03603b1482 BlockedZoneManager: using LoadSpecialPrimaryZones() to bulk load and import to avoid loading delays due to indexing. Minor code refactoring changes done. 2023-03-05 19:18:37 +05:30
Shreyas Zare
5f831ed998 AllowedZoneManager: using LoadSpecialPrimaryZones() to bulk load and import to avoid loading delays due to indexing. Minor code refactoring changes done. 2023-03-05 19:18:09 +05:30
Shreyas Zare
1fc615eeb8 AuthZoneManager: Added LoadSpecialPrimaryZones() methods to allow bulk loading/importing zones. Updated Query() to add isRecursionAllowed parameter to be used to set expected RA flag value. Minor code refactoring changes done. 2023-03-05 19:16:30 +05:30
Shreyas Zare
c1f287528b DnsServer: fixed issue in DNS-over-HTTP private IP check causing 403 with reverse proxy. 2023-02-26 17:26:55 +05:30
Shreyas Zare
ec8dce21cf AuthZoneManager: fixed minor issue when there are no zones. 2023-02-26 17:16:25 +05:30
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. 2023-02-25 13:10:42 +05:30
Shreyas Zare
a53d5df19c BlockListZoneManager: updated implementation of allowed list by having a separate allowed zone. Updated parser to detect inline comment. Added IsAllowed() method. Updated Query() to check count before query. 2023-02-25 13:06:04 +05:30
Shreyas Zare
d62483bd51 BlockedZoneManager: updated Query() to check count before query. 2023-02-25 13:04:25 +05:30
Shreyas Zare
cc597d8694 AllowedZoneManager: refactored Query() to IsAllowed(). 2023-02-25 13:03:40 +05:30
Shreyas Zare
089634f1f3 DnsServer: setting default blocking type to NX domain. Implemented independent query task scheduler to handle incoming requests. Implemented new DirectQueryAsync() method. 2023-02-18 11:43:37 +05:30
Shreyas Zare
12c63f0907 ResolverDnsCache: refactoring changes. 2023-02-18 11:41:56 +05:30
Shreyas Zare
2e2fd43263 AuthZoneInfo: updated implementation to use values from apex zone reference when it is available. 2023-02-18 11:41:19 +05:30
Shreyas Zare
431b16c1f4 BlockListZoneManager: Updated code to support Adblock plus list file format. 2023-02-18 11:40:11 +05:30
Shreyas Zare
6338ee25b9 AuthZoneManager: setting correct RA flag. Code refactoring done. 2023-02-18 11:39:08 +05:30
Shreyas Zare
43bc42d000 minor changes 2023-02-18 11:37:50 +05:30
Shreyas Zare
7da491c4b3 DnsServerInternal: implemented new DirectQueryAsync() method. 2023-02-18 11:37:23 +05:30
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. 2023-02-12 13:06:27 +05:30
Shreyas Zare
dffda22867 StatsManager: updated code to support new response types. 2023-02-12 13:01:39 +05:30
Shreyas Zare
a154173bcc ResolverPrefetchDnsCache: code refactoring changes. 2023-02-12 13:00:46 +05:30
Shreyas Zare
f0b611fa90 ResolverDnsCache: added option to skip calling app authoritative request handlers. 2023-02-12 13:00:14 +05:30
Shreyas Zare
3dab7b5f4b BlockListZoneManager: implemented extended error report for blocked domain report. 2023-02-12 12:59:07 +05:30
Shreyas Zare
f71c7008b5 code refactoring changes. 2023-02-12 12:57:41 +05:30
Shreyas Zare
06282fc8c0 AuthZoneManager: Implemented zone index to allow paginated access to zones list. 2023-02-12 12:56:09 +05:30
Shreyas Zare
29d35fb022 AuthZoneInfo: implemented Equals() and GetHashCode() methods. 2023-02-12 12:51:19 +05:30
Shreyas Zare
ebc6e5f1f3 DnsServer: merged doh web apps. 2023-02-05 17:21:20 +05:30
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. 2023-02-05 16:37:15 +05:30
Shreyas Zare
975bc5d584 BlockListZoneManager: refactored code for optimization. 2023-02-05 16:29:37 +05:30
Shreyas Zare
cb5cd38ef8 code refactoring changes. 2023-02-05 16:29:02 +05:30
Shreyas Zare
ba48a63eb1 AuthZoneManager: split ListAllRecords() into ListAllZoneRecords() and ListAllRecords() for different usages. Code refactoring done. 2023-02-05 16:28:16 +05:30
Shreyas Zare
50cf6fdf2e code refactoring changes. 2023-02-05 16:26:18 +05:30
Shreyas Zare
d2a1ba6de0 CacheZone: updated ReadFrom() and ReadEntriesFrom() to avoid loading stale records and empty RR sets. 2023-01-15 18:36:40 +05:30