[GH-ISSUE #332] rfc6761: Add .localhost., .invalid and reverse mapping validation for server #152

Open
opened 2026-03-07 22:29:01 +03:00 by kerem · 9 comments
Owner

Originally created by @bluejekyll on GitHub (Jan 26, 2018).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/332

see client/src/rr/zone.rs and ZoneUsage for matching zone names.

Originally created by @bluejekyll on GitHub (Jan 26, 2018). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/332 see `client/src/rr/zone.rs` and `ZoneUsage` for matching zone names.
Author
Owner

@DemiMarie commented on GitHub (Mar 18, 2018):

I will take this.

<!-- gh-comment-id:374068321 --> @DemiMarie commented on GitHub (Mar 18, 2018): I will take this.
Author
Owner

@DemiMarie commented on GitHub (Apr 4, 2018):

I think I can handle the .localhost and .invalid parts.

<!-- gh-comment-id:378661763 --> @DemiMarie commented on GitHub (Apr 4, 2018): I think I can handle the `.localhost` and `.invalid` parts.
Author
Owner

@DemiMarie commented on GitHub (Apr 4, 2018):

So this seems like a simple problem of substring matching. For .invalid, we can simply ignore it at the loading stage (causing the server to return failure by default). For .localhost, we can just add a pinned entry.

<!-- gh-comment-id:378663331 --> @DemiMarie commented on GitHub (Apr 4, 2018): So this seems like a simple problem of substring matching. For `.invalid`, we can simply ignore it at the loading stage (causing the server to return failure by default). For `.localhost`, we can just add a pinned entry.
Author
Owner

@bluejekyll commented on GitHub (Apr 4, 2018):

Take a look at this module: https://github.com/bluejekyll/trust-dns/blob/master/proto/src/rr/domain/usage.rs

I think that is what we probably want... the is_zone_of function does the proper domain checking...

<!-- gh-comment-id:378668068 --> @bluejekyll commented on GitHub (Apr 4, 2018): Take a look at this module: `https://github.com/bluejekyll/trust-dns/blob/master/proto/src/rr/domain/usage.rs` I think that is what we probably want... the `is_zone_of` function does the proper domain checking...
Author
Owner

@bluejekyll commented on GitHub (Apr 4, 2018):

The real question in my mind is where we actually perform this check... What I think would be neat is to start a zone validation component, that would check that zones are good to load and serve. I could see this as part of that. Then there is the actual resolution, i.e. returning standard entries for this stuff. For that the question in my mind is, should we just have standard zone files that are loaded (potentially allowing people to change the functionality) or should these be hardcoded entries in the authority...

<!-- gh-comment-id:378673584 --> @bluejekyll commented on GitHub (Apr 4, 2018): The real question in my mind is where we actually perform this check... What I think would be neat is to start a zone validation component, that would check that zones are good to load and serve. I could see this as part of that. Then there is the actual resolution, i.e. returning standard entries for this stuff. For that the question in my mind is, should we just have standard zone files that are loaded (potentially allowing people to change the functionality) or should these be hardcoded entries in the authority...
Author
Owner

@DemiMarie commented on GitHub (Apr 4, 2018):

I think we should never pass a request upstream when the RFC prohibits us
from doing so, but I could see uses for allowing local configuration to
override the values we return. This should be opt-in though, perhaps with
a command-line switch. The default should be standards-conforming behavior.

On Wed, Apr 4, 2018, 1:05 PM Benjamin Fry notifications@github.com wrote:

The real question in my mind is where we actually perform this check...
What I think would be neat is to start a zone validation component, that
would check that zones are good to load and serve. I could see this as part
of that. Then there is the actual resolution, i.e. returning standard
entries for this stuff. For that the question in my mind is, should we just
have standard zone files that are loaded (potentially allowing people to
change the functionality) or should these be hardcoded entries in the
authority...


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bluejekyll/trust-dns/issues/332#issuecomment-378673584,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGGWB-Cfd6flJ_cvhVEsO6LEZuPgQVC4ks5tlP1HgaJpZM4Rt4bA
.

<!-- gh-comment-id:378703124 --> @DemiMarie commented on GitHub (Apr 4, 2018): I think we should never pass a request upstream when the RFC prohibits us from doing so, but I could see uses for allowing local configuration to override the values we return. This should be opt-in though, perhaps with a command-line switch. The default should be standards-conforming behavior. On Wed, Apr 4, 2018, 1:05 PM Benjamin Fry <notifications@github.com> wrote: > The real question in my mind is where we actually perform this check... > What I think would be neat is to start a zone validation component, that > would check that zones are good to load and serve. I could see this as part > of that. Then there is the actual resolution, i.e. returning standard > entries for this stuff. For that the question in my mind is, should we just > have standard zone files that are loaded (potentially allowing people to > change the functionality) or should these be hardcoded entries in the > authority... > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <https://github.com/bluejekyll/trust-dns/issues/332#issuecomment-378673584>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/AGGWB-Cfd6flJ_cvhVEsO6LEZuPgQVC4ks5tlP1HgaJpZM4Rt4bA> > . >
Author
Owner

@DemiMarie commented on GitHub (Apr 6, 2018):

Also note that .onion domains are reserved for Tor hidden services and shall not be successfully resolved otherwise.

<!-- gh-comment-id:379308528 --> @DemiMarie commented on GitHub (Apr 6, 2018): Also note that `.onion` domains are reserved for Tor hidden services and shall not be successfully resolved otherwise.
Author
Owner

@bluejekyll commented on GitHub (Apr 6, 2018):

We can add that, though I don't know if it's RFC compliant. It would also be interesting to talk about .onion resolution at some point.

<!-- gh-comment-id:379316577 --> @bluejekyll commented on GitHub (Apr 6, 2018): We can add that, though I don't know if it's RFC compliant. It would also be interesting to talk about `.onion` resolution at some point.
Author
Owner

@moonshiner commented on GitHub (Apr 10, 2018):

RFC 7686 added .onion to the special use registry.

<!-- gh-comment-id:380203396 --> @moonshiner commented on GitHub (Apr 10, 2018): RFC 7686 added .onion to the special use registry.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#152
No description provided.