Commit Graph

664 Commits

Author SHA1 Message Date
Shreyas Zare
b6dfd8a8da fixed changelog date 2020-07-04 18:25:52 +05:30
Shreyas Zare
56110b6a2e assembly version updated to v5.0 for release 2020-07-04 18:15:26 +05:30
Shreyas Zare
bbe042997c MainApplicationContext: removed SaveConfig() since by default the app runs with low priviledge and cannot save config file. 2020-07-04 18:14:35 +05:30
Shreyas Zare
8441610401 added change log. 2020-07-04 16:46:15 +05:30
Shreyas Zare
ece11e5bea updated .net core to 3.1.5 for raspberry pi. 2020-07-04 16:45:59 +05:30
Shreyas Zare
d55fdd1352 frmAbout: updated link to license. 2020-07-04 16:45:30 +05:30
Shreyas Zare
5bd3230fc2 webapp: implemented use this server option in conditional forwarder config. Other UI changes and refactoring done. 2020-07-04 16:44:51 +05:30
Shreyas Zare
f12fb4e569 webapp: minor ui fix done. 2020-07-04 16:43:39 +05:30
Shreyas Zare
203cd3e77f webapp: added more text to help with TLS cert creation. Updated About section with new links and whats new section. Added Use This Server option in conditional forwarder config. Other minor UI changes done. 2020-07-04 16:43:23 +05:30
Shreyas Zare
2948cebee6 WebService: fixed log messages to show more details. Used 0 ttl for FWD records. Updated GetRecords() to correctly return data when no records exists. Implemented ThisServer property. Code refactoring done. 2020-07-04 16:41:21 +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
3e23d6cadb webapp: updated UI as per implementation changes for secondary and stub zones. 2020-06-28 19:45:37 +05:30
Shreyas Zare
28ee478c45 WebService: minor code fixes. Updated CreateZone api as per new implementation changes. 2020-06-28 19:44:14 +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
c0fe15cf63 webapp: fixed issue with updateRecordState() causing NS records to lose glue addresses. 2020-06-28 16:37:04 +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
Shreyas Zare
b24963425e ZoneTree: implemented DomainTree and ByteTree TryRemove() changes. 2020-06-27 15:36:49 +05:30
Shreyas Zare
2db9337d36 DomainTree: implemented independent class to traverse domain name to be reuseable. 2020-06-27 15:35:35 +05:30
Shreyas Zare
7301c2ea65 WebService: using new DnsCache property in ResolveQuery(). Minor refactoring changes done. 2020-06-27 12:05:03 +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
fe8da4e5c8 ResolverPrefetchDnsCache: updated class to inherit ResolverDnsCache and allow using auth zone for recursive resolution. 2020-06-27 11:58:37 +05:30
Shreyas Zare
c74acc6540 ResolverDnsCache: added class to allow recursive resolver to be able to query auth zone too. 2020-06-27 11:57:52 +05:30
Shreyas Zare
920200c505 AuthZoneManager: removed code that added glue records from SOA for zone transfer output in QueryZoneTransferRecords(). Updated SyncRecords() to allow root zone to respond for A or AAAA records for *.root-servers.net records and fixed name comparison issue. UpdateRecord() removed code for updating glue records for NS since secondary and stub NS records must not be changed. Query() updated the sequence of checking for delegation. Updated LoadZoneFrom() to delete zone if it fails to load. 2020-06-27 11:56:40 +05:30
Shreyas Zare
6c25e9498e ForwarderZone: added SetRecords() and AddRecord() methods with validation checks. 2020-06-27 11:51:43 +05:30
Shreyas Zare
c29424f9c3 StubZone: using GetPrimaryNameServerAddresses() in RefreshTimerCallback(). Code refactoring done. Added validation checks in SetRecords(). 2020-06-27 11:50:16 +05:30
Shreyas Zare
58f592d3b6 SecondaryZone: RefreshTimerCallback() code refactoring done. Updated SetRecords() to copy glue records for SOA with validations. 2020-06-27 11:46:43 +05:30
Shreyas Zare
9e78fbca34 PrimaryZone: using GetSecondaryNameServerAddresses() call. Updated SetRecords() to remove any attached info data. 2020-06-27 11:45:12 +05:30
Shreyas Zare
06694b0eb2 AuthZone: updated implementation to get secondary name server addresses. Fixed SyncRecords() to allow syncing root zone correctly and to avoid overwriting glue records for SOA. Removed UpdateGlueAddresses(). Fixed typo bug in QueryRecords(). 2020-06-27 11:43:58 +05:30
Shreyas Zare
f22972abd9 CacheZone: fixed minor typo bug. 2020-06-27 11:41:52 +05:30
Shreyas Zare
54762297ea ZoneTree: fixed issues in FindZone() to correctly check if sub domains exists. Fixed issue in selection of delegation and authority zones. 2020-06-27 11:41:17 +05:30
Shreyas Zare
8bf488818d webapp: updated UI glue addresses fields for specific zone types only. Disabled NS record edit options for secondary and stub zones. 2020-06-21 19:52:09 +05:30
Shreyas Zare
d18bf2ab77 ZoneTree: added IsKeySubDomain() checks in FindNodeValue() instead of checking it afterwards for correctness. 2020-06-20 19:22:45 +05:30
Shreyas Zare
9cdb21acd0 DnsServer: updated ProcessZoneTransferQuery() with zone checks using AuthZoneInfo. 2020-06-20 19:14:21 +05:30