-
-
Notifications
You must be signed in to change notification settings - Fork 105
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
different TTLs for a RRSet prevent zone loading #396
Comments
different TTLs in the same RRset prevent a zone from being
loaded in NSD 4.10.1
As it should, I would argue.
See https://datatracker.ietf.org/doc/rfc2181/
section 5.2.
In our local setup (we use BIND), we run named-checkzone and
insist on a clean bill of health before feeding the zone to a
running name server.
Regards,
- Håvard
|
I'm well aware of the RFC and I don't argue with it. What I argue about is
the (from what I found when digging through the changelogs) unnoted change
from a lax to a strict parsing. And it's (imo) inconsequential handling. If
this is considered a problem, NSD should probably not allow for the zone to
be configured at all. Not allow it's state of being configured but not
loaded.
he32 ***@***.***> schrieb am Fr., 25. Okt. 2024, 19:06:
… > different TTLs in the same RRset prevent a zone from being
> loaded in NSD 4.10.1
As it should, I would argue.
See https://datatracker.ietf.org/doc/rfc2181/
section 5.2.
In our local setup (we use BIND), we run named-checkzone and
insist on a clean bill of health before feeding the zone to a
running name server.
Regards,
- Håvard
—
Reply to this email directly, view it on GitHub
<#396 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFNZQ4KDB5422ZJAPB2CDRDZ5J3CBAVCNFSM6AAAAABQTAI4AKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZYGM2TKNJWGU>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
I'm well aware of the RFC and I don't argue with it. What I
argue about is the (from what I found when digging through the
changelogs) unnoted change from a lax to a strict parsing. And
it's (imo) inconsequential handling. If this is considered a
problem, NSD should probably not allow for the zone to be
configured at all. Not allow it's state of being configured but
not loaded.
I must admit that I do not quite understand what change in
behaviour you would like to have. E.g. should the zone load, but
with the offending RRSet automatically converted so that all
records in the set get the lower of all the different TTLs? Or
are you suggesting the zone not be loaded at all due to the
error, but NSD just continue without it? Both of those could be
argued as valid choices, but have different downsides when it
comes to supporting the behaviour. In particular the latter
might come as a nasty surprise to you, e.g. when the secondaries
all expire the offending zone possibly some 14 days after you
made the mistake without checking the result, and *poof*, your
domain is properly gone from the rest of the Internet, and at
that time you may have a hard time connecting the dots. "Why
didn't NSD earlier clearly indicate that this was a problem"
might then be a valid criticism.
|
To be honest, I'm not sure neither. But I'm rather unhappy with the way this change was introduced. Prior to 4.10 NSD served all the records with their respective individual TTLs. Personally I'd prefer this behavior to remain (albeit violating the RFC) until their is a new major release. I presume the change came with the introduction of simdzone. I don't know to what degree semantic versioning is considered in this project. In my opinion, the change from serving with the individual TTLs to configuring but not loading a zone is a change, that would mandate a major version increase.
If there are problems with implementing the pre-4.10-behavior in the new simdzone parsing, this sounds like a reasonable middle ground to me while sticking with the 4.x major release. |
Hi @and0x000. Thanks for reporting! This is a semantic error and previously always reported as a warning rather than an error. Most semantic errors in |
Thank you for considering this report. If I read this correctly, this adds a warning log message but doesn't change the behavior? i.e. the zone still won't be loaded if there is a TTL mismatch in the RRset? |
different TTLs in the same RRset prevent a zone from being loaded in NSD 4.10.1
minimal reproducible example:
result:
Note the
; EDE: 14 (Not Ready): (Zone is configured but not loaded)
.Log message:
Yet, zonestatus doesn't hint an issue.
Personally I'd see this as a regression over the behavior from 4.9.1.
In 4.9.1 the warning messages were present as well. However, NSD did load the zone file and didn't resort to
SERVFAIL
responses.The text was updated successfully, but these errors were encountered: