[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [OPSAWG] [Technical Errata Reported] RFC5676 (1928)



Hi -

> From: "Alfred Hnes" <ah at TR-Sys.de>
> To: <j.schoenwaelder at jacobs-university.de>; <opsawg at ietf.org>
> Cc: <ah at WOTAN.TR-Sys.de>
> Sent: Wednesday, October 28, 2009 9:27 AM
> Subject: Re: [OPSAWG] [Technical Errata Reported] RFC5676 (1928)
...
> The first part of that section -- almost all on p.21 -- mainly
> deals with the 'fully specified' SMI data types, where syntax and
> sematics are so narrow the DISPLAY-HINT is not needed and hence
> not permitted, and the presentation of those subcases of the
> INTEGER data type that do not have narrow semantics specified
> in the SMI.
> 
> The second part of the section extends from the bottom of p.21
> to the end of the section and deals with OCTET STRING conversions.
> Bullet (3) on p.22 discusses the display format characters in the
> DISPLAY-HINT string for OCTET-STRING objects, and refers to
> numeric format conversions; the only detailed rule given is:
> 
>                                                     If the octet
>    length part is greater than one, and the display format part refers
>    to a numeric format, then network-byte ordering (big-endian
>    encoding) is used interpreting the octets in the value.
> 
> That's why I always had concluded that the description of numeric
> conversions on page 21 was included here by reference, for all other
> relevant (yet herein unspecified) details, in particular the phrase
> quoted above, starting with "For all types, ...".
> This contains the assumption that the n-octet integer values to be
> converted were signed integers.

That was not the intent when the text was developed.  It is also worth
keeping in mind that since its inception DISPLAY-HINT has been recognized
as being a very limited facility.  That's one of the reasons why it is
so totally optional.

> As it has turned out, this interpretation is not shared universally,
> with the alternate assumption being that these n-octet integers
> must always be regarded as unsigned.

This is my recollection of the intent when the text was written.

> Most instances I recall ever having seen are uncritical because the
> valid range for the integer values is restricted by application
> semantics to the extent that the MSB is always 0, thus admitting
> both interpretations without any impact on their use.
> 
> (Ironically, related trouble has recurred in other places in the
> IETF, where specifications had not been explicit enough to state
> precisely whether particular protocol fields carry signed or
> unsigned integer values, and later protocol additions had to work
> around deployed implementations assuming either.)

In general, it's safest to assume that bit fields are unsigned unless
explicitly stated otherwise, the behaviour of some C compilers
notwithstanding.

> Apparently, the best solution would be to file a clarification
> for Section 3.1 of RFC 2579, as an Errata note, as well, in order
> to disambiguate the interpretation.  When this is done, collateral
> issues can be identified and resolved.

Agreed.
 
Randy