Subject: [Cbor] draft-ietf-cbor-7049bis-05 comments

From: Jim Schaad <[email-masked]>
Date: Wed, 16 Jan 2019 16:58:44 -0800

These two issues are based on reading the area around the diffs and not on a
full reading of the document.  I plan to do that some time in the next 3
weeks.

1.  Having pulled the fact that a start for indefinite encoding is no longer
before the definition of "break", I kept finding this a pain as I wanted to
know how to start at the same time that finish is being documented.  I do
realize that this is in both of the following sections but still found it
jarring.

2.  I found the entire paragraph on how ending of False, etc. very
confusing.  I especially did not know what the rule was going to be for
dealing with simple values from 32 and up as these are two-byte sequences.
I think the entire paragraph could be more simply specified as saying that
all simple values must be encoded in the minimal number of bytes and say
that a decode MUST treat encodings which are not of minimal length as being
errors.  I think do not have the problem of how to encode simple value 32 as
0xf820 is well understood as being the one and only encoding.

3.  I am not sure how to react to the following potentially contradictory
statements:
    * The data model says that bignum and integer encodings are distinct for
the generic data model.  (para #1 section 3.4.3)
   * The preferred encoding for small bignum values is as integers and not
as bignum values.  (para #2)
   This means that if for some reason I want to use bignums as the keys then
I need to violate one of those two suggestions.  I don't think that this
would be a good idea but is may want to be clarified.

4.  The re-write of the last paragraph in section 3.4.6.2 had me looking for
the sentence that dealt with the third tag for padding purposes.  This was
not really discordant in the old text because only one item was dealt with,
but for the new text two out of three items are dealt with and thus it
appears that one of them is missing.

Jim