Skip to content

Rewrite of the specification of DNSSEC10#1179

Merged
matsduf merged 28 commits into
zonemaster:developfrom
matsduf:update-dnssec10
Nov 27, 2024
Merged

Rewrite of the specification of DNSSEC10#1179
matsduf merged 28 commits into
zonemaster:developfrom
matsduf:update-dnssec10

Conversation

@matsduf

@matsduf matsduf commented Jul 16, 2023

Copy link
Copy Markdown
Contributor

Purpose

There are several issues concerning problems with both the specification and implementation if DNSSEC10:

The old version of the test case tries to test NSEC/NSEC3 by creating a non-existing domain name, which is quite complex when the zone has a wildcard. NSEC3 opt out increases the complexity.

This rewrite changes the way NSEC/NSEC3 is tested. NSEC/NSEC3 records have two purposes in DNSSEC:

  • Providing proof that a certain name does not exist.
  • If the name exists, providing proof that a certain record type does not exist in node of that name.

The current version focuses on non-exiting domain names. The new version provided in this PR focuses instead on record type that do not exist, and it queries for record types that cannot exist in the zone. This will make the implementation less complex.

Context

The issues above.

Test zones will be added to this PR, but the specification is complete and ready for review.

Changes

The rewrite of the specification requires a rewrite of the implementation.

How to test this PR

This has to be reviewed.

@matsduf matsduf added the A-TestCase Area: Test case specification or implementation of test case label Jul 16, 2023
@matsduf matsduf added this to the v2023.2 milestone Jul 16, 2023
@matsduf matsduf requested review from a user, hannaeko, marc-vanderwal, mattias-p and tgreenx July 16, 2023 16:12

@tgreenx tgreenx left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have much to say in the test procedure of this specification. The logic looks good to me as is.

Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated

@tgreenx tgreenx left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@matsduf

matsduf commented Jul 20, 2023

Copy link
Copy Markdown
Contributor Author
  • The section "Terminology" can be removed.

I think it is better to keep it, but with a comment.

* In section "Special procedural requirements", use [the proper sentence from the template](https://github.com/zonemaster/zonemaster/blob/c7c6793e8cb7dec1ca9ede5881f622f5cfae9148/docs/internal/templates/specifications/tests/Template01.md?plain=1#L195-L197).

Fixed.

Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
@matsduf matsduf requested a review from marc-vanderwal July 25, 2023 13:09

@marc-vanderwal marc-vanderwal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one more typo :-)

Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
marc-vanderwal
marc-vanderwal previously approved these changes Jul 25, 2023
@matsduf

matsduf commented Jul 25, 2023

Copy link
Copy Markdown
Contributor Author

@marc-vanderwal, see my response in #1179 (comment). Any comment?

@marc-vanderwal, see my response in #1179 (comment). Any comment?

@tgreenx, see my response in #1179 (comment). Any comment?

Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
@matsduf

matsduf commented Jul 25, 2023

Copy link
Copy Markdown
Contributor Author

The added reference to DNSSEC05 should be reviewed in the context of PR #1183.

Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
@matsduf matsduf requested a review from tgreenx July 25, 2023 15:50
@matsduf

matsduf commented Jul 25, 2023

Copy link
Copy Markdown
Contributor Author

@tgreenx and @marc-vanderwal, please re-review.

Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
@matsduf matsduf requested a review from tgreenx July 25, 2023 19:43
marc-vanderwal
marc-vanderwal previously approved these changes Nov 7, 2024
tgreenx
tgreenx previously approved these changes Nov 7, 2024
@matsduf

matsduf commented Nov 11, 2024

Copy link
Copy Markdown
Contributor Author

@tgreenx, can I merge this now?

This update make the test continue to the NSEC3PARAM query even in
the case where the response to the NSEC query gives neither NSEC
in answer section nor NSEC3 in authority section.

The handling of the NSEC3PARAM query has been updated in the same
way even though it does not does not have any practical effect,
but makes the two equal.

In both cases two levels were merged and all bullets bellow moved
up one level.
@matsduf matsduf dismissed stale reviews from tgreenx and marc-vanderwal via 7383674 November 15, 2024 10:12
@matsduf

matsduf commented Nov 15, 2024

Copy link
Copy Markdown
Contributor Author

@tgreenx and @marc-vanderwal, please re-review. Commit 7383674 has been added.

The change in commit 7383674 is smaller than it looks like.

Under 6.5 (NSEC query), 6.5.3, 6.5.3.1 and 6.5.3.2 were changed and merged. Everything under 6.5.3.2 are unchanged, but moved up one level and now exist directly under 6.5.3.

Under 6.6 (NSEC3PARAM query), 6.6.3, 6.6.3.1 and 6.6.3.2 were changed and merged. Everything under 6.6.3.2 are unchanged, but moved up one level and now exist directly under 6.6.3.

This should have a small impact on implementation. The change for NSEC query makes the test continue to NSEC3PARAM query even if there is no NSEC record in answer section and no NSEC3 record in authority section. The change for NSEC3PARAM query should have no practical effect, but makes the specification consistent.

marc-vanderwal
marc-vanderwal previously approved these changes Nov 15, 2024

@marc-vanderwal marc-vanderwal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md Outdated
Comment thread docs/public/specifications/tests/DNSSEC-TP/dnssec10.md
Co-authored-by: tgreenx <96772376+tgreenx@users.noreply.github.com>
matsduf added a commit to matsduf/zonemaster that referenced this pull request Nov 20, 2024
matsduf added a commit to matsduf/zonemaster that referenced this pull request Nov 20, 2024
matsduf added a commit to matsduf/zonemaster that referenced this pull request Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-TestCase Area: Test case specification or implementation of test case

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DNSSEC10 gives false errors Wildcard at apex doesn't pass DNSSEC validation. Error in DNSSEC10 when tested named matches wildcard

3 participants