Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New implementation of Nameserver11 - #1110 #1034

Merged
merged 6 commits into from
Dec 1, 2022

Conversation

tgreenx
Copy link
Contributor

@tgreenx tgreenx commented Jan 3, 2022

Purpose

This PR proposes a new implementation for Nameserver11, following the update of the specification in zonemaster/zonemaster#1111.

Context

Addresses zonemaster/zonemaster#1110 (previously zonemaster/zonemaster#993)

Testing

zonemaster-cli --test=nameserver/nameserver11 bemacom.se --level=INFO --show-testcase --raw
   0.00 INFO      UNSPECIFIED    GLOBAL_VERSION   version=v4.5.1
   3.83 WARNING   NAMESERVER11   N11_UNEXPECTED_RCODE   ns_ip_list=194.17.14.66;92.33.14.98; rcode=FORMERR

@matsduf
Copy link
Contributor

matsduf commented Jan 4, 2022

The process we have followed so far is to have the specification completed before implementation starts. In that we lower that risk of have work to be redone. I suggest that the implementation is paused until the specification is done.

@matsduf matsduf self-requested a review January 4, 2022 15:27
@vlevigneron
Copy link
Contributor

I agree with @matsduf. We should follow the same process we had before. Specifications first, then implementation.
BTW @tgreenx, some links in your PR are wrong, for instance you refer to #993 instead of zonemaster/zonemaster#993 in many places

ghost pushed a commit that referenced this pull request Apr 25, 2022
@tgreenx tgreenx added the A-TestCase Area: Test case specification or implementation of test case label May 5, 2022
@tgreenx tgreenx added this to the v2022.2 milestone May 5, 2022
lib/Zonemaster/Engine/Test/Nameserver.pm Outdated Show resolved Hide resolved
@tgreenx tgreenx requested a review from matsduf September 1, 2022 08:11
@tgreenx
Copy link
Contributor Author

tgreenx commented Sep 1, 2022

Commit 39bb1c7 addresses PR zonemaster/zonemaster#1093.

@matsduf
Copy link
Contributor

matsduf commented Oct 21, 2022

It turns out that the update done by zonemaster/zonemaster#993 misses some error scenarious. See zonemaster/zonemaster#1110. There is a new update of the test case specification in zonemaster/zonemaster#1111 to be reviewed.

@matsduf
Copy link
Contributor

matsduf commented Nov 10, 2022

@tgreenx, can zonemaster/zonemaster#1111 be merged and incorporated in this update?

@tgreenx
Copy link
Contributor Author

tgreenx commented Nov 10, 2022

@tgreenx, can zonemaster/zonemaster#1111 be merged and incorporated in this update?

Yes

@matsduf matsduf added the V-Minor Versioning: The change gives an update of minor in version. label Nov 10, 2022
@tgreenx
Copy link
Contributor Author

tgreenx commented Nov 17, 2022

Implementation is updated to latest specification (zonemaster/zonemaster#1111). However we should wait that #1147 is merged first before merging this PR, then rebase on latest develop and do the changes to EDNS queries as mentioned in the code of this PR (see commit 5cc0f15)

@tgreenx tgreenx changed the title New implementation of Nameserver11 - #993 New implementation of Nameserver11 - #1110 Nov 17, 2022
Copy link
Contributor

@matsduf matsduf left a comment

Choose a reason for hiding this comment

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

This looks fine, and I see no obvious error. There are, however, not enough unit tests or test zones to verify this implementation. I think we can merge, and then let the upcoming tests zones that are defined in zonemaster/zonemaster#1113 verify it. In that PR there is a test-data specification for the test case.

@matsduf matsduf requested a review from mattias-p November 23, 2022 10:10
Copy link
Member

@mattias-p mattias-p left a comment

Choose a reason for hiding this comment

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

LGTM. I found one small thing that could be improved but from my understanding it's not big enough to block merging.

push @unset_aa, $ns->address->short;
}

elsif ( defined $p->edns_data ) {
Copy link
Member

Choose a reason for hiding this comment

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

This check is more general than what is prescribed in the specification. It doesn't seem like a huge deal, but I wanted to point it out.

Copy link
Contributor

Choose a reason for hiding this comment

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

I looked at that, and since the query has no flags and no other options in EDNS, besides the undefined option, which the server is expected to ignore and not include in the response, I think this should work.

@matsduf matsduf merged commit 7194935 into zonemaster:develop Dec 1, 2022
@marc-vanderwal marc-vanderwal added the S-ReleaseTested Status: The PR has been successfully tested in release testing label Dec 5, 2022
@tgreenx tgreenx deleted the patch#993 branch December 7, 2022 16:14
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 S-ReleaseTested Status: The PR has been successfully tested in release testing V-Minor Versioning: The change gives an update of minor in version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants