-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* refactor: return raw dns response from auxiliary functions * feat: basic, same-level DNSSEC validation * fix: newLayer should not be updated if extractAuthority fails * refactor: extend trace, fix depth for couple places * refactor: more comprehensive validation of DNSKEY/RRSIG dnssec related functions now sit in their own file * patch: disregard RRSIG in authorities * fix: remove depth parameter in lookup function revert depth change. depth can't be carried to subqueries * feat: implement DS verification * feat: cache DS in referrals * feat: validate dnssec for referrals * build(ci): bump to go1.21 * fix: answer section is always validated * fix: resolve linter issues * fix: resolve linter issues * refactor: store current retry in resolver struct * patch: don't modify original res * docs: rrset validation failure * build(deps): bump root anchors * fix: add validity period check for RRSIG * feat: add dnssec result types * docs: clarify comments for retries and retriesRemaining in Resolver * feat: dnssec result field * refactor: simplify param list with validator struct * refactor: extended DNSSEC result handling * feat: add JSON tags to DNSSEC types for improved serialization * refactor: DNSSEC functions now does not stop resolution * fix: regression in authority caching * feat: add DNSSEC validation as CLI option * feat: implement circular query detection * chore: suppress some lint warnings * fix: handle DNSSEC insecure and bogus statuses * test: add DNSSEC integration tests * fix: RRset should be identified by all of name, class and type Have this super weird case where additionals from dnssec-tools.org contains an A and RRSIG for each of (nsm|nsw).dnssec-tools.org. If identify by only type, these two will be clustered under the same set and could not validate. * fix: dedup ds/dnskey * docs: function comments for dnssec * fix: shortcut Insecure if entire answer is unsigned * feat: add dnssec output fields * Revert "test: add DNSSEC integration tests" This reverts commit 2b074a2. * test: add DNSSEC integration tests * fix: rrsig error handling and DS validation on DNSKEY response * fix: KSK is a lie :( * chore: error logging * docs: comments * fix: skip validation for some sections if answer is authoritative * feat: lazy query A/AAAA of NSes when iterating on authorities * fix: should restore the previous dnssec setting * docs: add RFC references * docs: add one rfc reference * refactor: additionals -> additional * refactor: passing on validation result from front of the chain * refactor: miscellaneous bits * fix: NSEC3 type definition * feat: NSEC3 validation for DS records * style: fix linter issues * test: add integration test for dnssec with cnames * fix: bogus case classification * patch: comment * feat: support NSEC for DS check * fix: always cache under lower-cased authname * fix: DS records should always be cached as secure * fix: support DS/NSEC in authority section * chore: logging for a specific nsec3 case It seems cloudflare will not validate anything with iteration > 0. We are fine validating them, but print a log for visibility. * revert change to go 1.21.1 * downgrade required go version to 1.20 * fix lint error * toolchain directive not available in go 1.20 * upgrade -> go 1.21 --------- Co-authored-by: Zakir Durumeric <[email protected]> Co-authored-by: phillip-stephens <[email protected]>
- Loading branch information
1 parent
bf4aac1
commit 60afb38
Showing
18 changed files
with
1,249 additions
and
158 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,4 @@ | |
*.iml | ||
*.code-workspace | ||
/zdns | ||
*.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.