I agree that the errata is correct.

It is maybe suboptimal that wire format for DS/DNSKEY delete-request
was not specified in the document. And I'm not sure if the authors
meant that the digest/public key is zero-length or one-byte long. But
luckily this can prevent some compatibility issues:

Presentation format for DS/CDS just doesn't expect zero-length digest
(as opposed to NSEC3PARAM which uses dash instead of the hex encoded
salt if the salt is zero-length). I tried with Knot DNS and BIND -
both can write DS record in presentation format with zero-length
digest but cannot parse it back. (Try it yourself with
"delete-cds.example.test. IN TYPE59 \# 4 00000000". I haven't trie
with DNSKEY but I expect the problem will be the same.)

The implementers should be careful and avoid the trouble. In this
sense, I think parent zone should accept both zero-length and one-byte
long digests/keys as a request to remove the DS.

Jan

On Mon, Jun 26, 2017 at 10:39 AM, Matthijs Mekking
<matth...@pletterpet.nl> wrote:
> Hi,
>
> On 24-06-17 17:45, Ondřej Caletka wrote:
>>
>> Hello,
>>
>> Dne 24.6.2017 v 15:25 Dick Franks napsal(a):
>>>
>>> I beg to disagree.
>>>
>>> In each case,
>>>
>>>        CDS 0 0 0 0
>>>
>>>        CDNSKEY 0 3 0 0
>>>
>>> the final "0" is a conventional token representing a zero-length key
>>> field. In neither case is it an attempt to specify a single octet key
>>> value.
>>
>>
>> I believe this has been discussed between 04 and 06 versions of the
>> draft in this thread:
>>
>> https://mailarchive.ietf.org/arch/msg/dnsop/PsRIQOtd1bxFSEEm9lfv0WaHKeE >
>> The result that made it to the RFC is that there should be indeed one
>> byte with value of 00 in the Digest/Public key field instead of no data
>> at all.
>
>
> To be precise: We actually agreed that there should be *one field with the
> value of 0* instead of no data at all.
>
>> This avoids the need of defining new format and updating all the
>> deployed software. It's not only about parsers of the wire format but
>> also about zone file parsers, that would need an update as the single
>> zero is not conformant with currently defined presentation format of
>> CDS/CDNSKEY RRs.
>
>
> I raised the specific issue because the to be RFC 8078 was going to change
> the CDS and CDNSKEY RDATA format from a fixed length RDATA to a variable
> length: In case of the DELETE operation, the Digest in presentation format
> was omitted.
>
> While I agree with Paul in that thread that we should use all zeros for the
> DELETE operation, I believe it was an oversight that the proper encodings
> (hexadecimal, base64) should be used.
>
> So to me this errata is valid.
>
> Best regards,
>   Matthijs
>
>
>> I believe changing RRdata format just for this one purpose would add an
>> unnecessary complexity.
>>
>> --
>> Best regards,
>> Ondřej Caletka
>>
>>
>>
>> _______________________________________________
>> DNSOP mailing list
>> DNSOP@ietf.org
>> https://www.ietf.org/mailman/listinfo/dnsop
>>
>
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to