Hi Stephane,
Thanks for your great review (and support of the draft). We've made a
number of changes based on your suggestions, and I'm including a more
detailed accounting below of steps taken based on your review. Sorry
for the delay in getting a response back to you.
6 Stephane Bortzmeyer
=====================
Now, the problems:
6.1 DONE It seems to me that this draft is mostly for resolvers, most planned
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
extended codes are useless for authoritative servers (except may be
REFUSED/Lame?).
I suggest to make that clear in the introduction:
These extended error codes are specially useful for resolvers, to
return to stub resolvers or to downstream resolvers. Authoritative
servers MAY use them but most error codes would make no sense for
them.
+ Warren agrees
+ Results: added, but modified to distinguish that you're really
referring to receiving codes, not sending them (auth servers may
need to send them, eg the block/prohibited one)
6.2 DONE ref issue
~~~~~~~~~~~~~~~~~~
> Unless a protective transport mechanism (like TSIG [RFC2845] or TLS
> [RFC8094])
Why 8094, which does not have even one implementation, instead of
7858?
+ warren: oversight
+ results: added 7858
6.3 DONE sig expired
~~~~~~~~~~~~~~~~~~~~
> 4.2.3. SERVFAIL Extended DNS Error Code 3 - Signature Expired The
>resolver attempted to perform DNSSEC validation, but the signature
>was expired.
I suggest to replace "the signature was expired" by "a signature in
the validation chain was expired".
Rationale: which signature? What if a DS at the parent is sign with an
expired signature?
+ Warren: LTGM
+ Results: done
6.4 DONE dnskey missing text
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 4.2.5. SERVFAIL Extended DNS Error Code 5 - DNSKEY missing A DS
>record existed at a parent, but no DNSKEY record could be found for
>the child.
I suggest to replace "no DNSKEY record could be found for the child"
by "no DNSKEY record for this specific key could be found for the
child".
Rationale : the current text seems to imply this code is only when
there is no DNSKEY at all.
+ Warren: LTGM
+ Brian disagrees
+ Michael Sheldon also disagrees and suggests "No supported matching
DNSKEY record could be found for the child"
+ Result: took Michael's text
6.5 DONE blocked
~~~~~~~~~~~~~~~~
> 4.4.1. NXDOMAIN Extended DNS Error Code 1 - Blocked The resolver
>attempted to perfom a DNS query but the domain is blacklisted due to
>a security policy. The R flag should not be set.
The last sentence is touchy. If a stub is configured with two
resolvers, and one is fast but known for lying in some cases that you
disagree with, you may ask a cookie from the other parent (no,
resolver).
+ Warren agrees the bit should be flipped.
+ Result: flipped
6.6 DONE blocked 2
~~~~~~~~~~~~~~~~~~
> 4.4.1. NXDOMAIN Extended DNS Error Code 1 - Blocked The resolver
>attempted to perfom a DNS query but the domain is blacklisted due to
>a security policy.
I tend to think it would be a good idea to separate the case where the
policy was decided by the resolver and the case where the policy came
from outside, typically from the local law (see RFC 7725 for a similar
case with HTTP).
Rationale: in the first case (local policy of the resolver), the user
may be interested in talking with the resolver admin if he or she
disagrees with the blocking. In the second case, this would be
useless.
+ Stephane adds:
I really think it is important to make the difference between:
* I blocked your request because that's _my_ policy
* I blocked your request because I'm compelled to do so, don't
complain, it would be useless.
+ Jim Reed: why? from the client's perspective no diff
+ Stephane: cause it indicates if you should call someone or you can't
affect change
+ Result: Seems like rough concensus to add, so i did.
6.7 DONE forged answer
~~~~~~~~~~~~~~~~~~~~~~
Otherwise, I suggest to add an error code:
NOERROR Extended DNS Error Code 3 - Forged answer
For policy reasons (legal obligation, or malware filtering, for
instance), an answer was forged. The R flag should not be set.
Rationale: there is "NXDOMAIN Extended DNS Error Code 1 - Blocked" but
policy-aware resolvers (lying resolvers, in plain english) do not
always forge NXDOMAIN, they can also forge A or AAAA answers.
See also the issue just before, about the need to differentiate
resolver policy from "upper" policy, law, for instance.
+ Warren doesn't like forgged and wants a better word
+ Stephane: "substituded answer" maybe?
+ Result: took forged as I don't like any suggested replacement yet
6.8 DONE new code for no reachable authorities
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ooops, I forgot one:
SERVFAIL Extended DNS Error Code 8 - No reachable authority
The resolver could not reach any of the authoritative name servers (or
they refused to reply). The R flag should be set.
Rationale: in draft -04, all SERVFAIL extended error codes are for
DNSSEC issues. In my experience, SERVFAIL happens also (and quite
often) for routing issues (most zones have all their authoritative
name servers in only one AS, sometimes even one prefix or, worse, one
rack).
We set the R flag because another resolver may not have the same
routing issues, BGP not being consistent between all sites.
True, an extended error code could be added after the RFC is
published, through "Specification required" but 1) it is easier to do
it now 2) it gives to the people who will implement the RFC a wider
view of the possible uses.
+ Result: added
--
Wes Hardaker
USC/ISI
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop