|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: Section 4.1 clarificationsThanks for your reply; please see my comments below. > (2) Because '+' and '-' are valid characters for values, I suggest > that it be made explicit whether or not signed binary items are > allowed. For what it's worth, I've been assuming that all binary > items are unsigned and signs are not valid characters in said items. > > +++ I will do specify unsigned integers +++ I think it would also be good to disallow '+' signs on unsigned quantities, e.g., "+45" is not a valid character representation of an unsigned integer. Since I wrote these up, I have realized that the definition of "binary item" in the spec is problematic. I believe a distinction must be made between numeric constants and binary items. As written, the spec allows a binary item of up to 255 bytes (unless otherwise specified) to be encoded in decimal, hexadecimal, or base 64. Because decimal encoding is allowed for binary items in general, this implies that conforming implementations must always be capable of converting up to 615 digits of decimal representation into up to 255 bytes of binary data, or in the case of Kerberos support, for example, up to 157,827 digits of decimal representation into up to 65,536 bytes of binary data! I doubt this is what was intended. To eliminate this ambiguity, I suggest amending my definitions as follows: > literal string: string described by regular expression > "[][a-zA-Z0-9 .-+@_:]*" > > Boolean constant: Boolean constant described by regular > expression "Yes|No" (was called "Boolean > value") > > decimal constant: unsigned decimal constant described by regular > expression "[0-9]+" > > hex constant: unsigned hexadecimal constant described by > regular expression "0[xX][0-9a-zA-Z]+" > > base-64 constant: unsigned base-64 constant described by regular > expression "0b[A-Za-z0-9+/=]+" Add: numeric constant: decimal constant or hex constant, the decoded value of which must not exceed 4 bytes unless otherwise specified > binary item: decimal constant, hex constant, or base-64 > constant Change to: binary item: hex constant or base-64 constant, the decoded value of which must not exceed 255 bytes unless otherwise specified > literal list: one or more literal strings separated by > commas > > numeric range: two binary items separated by a tilde Change to: numeric range: two numeric constants separated by a tilde > value: literal string, Boolean constant, binary item, > literal list, or a numeric range (under this > definition of "value," the delimiters ',' and > '~' must be added to the list of valid > characters, along with '/' and '=') Change to: value: literal string, Boolean constant, numeric constant, binary item, literal list, or numeric range (under this definition of "value," the delimiters ',' and '~' must be added to the list of valid characters, along with '/' and '=') > +++ I will add those +++ Thank you! Michael -- Michael J. Krueger mailto:michael.krueger@windriver.com Wind River Networks http://www.windriver.com 500 Wind River Way phone: 510-749-2130 Alameda, CA 94501 fax: 510-749-2010
Home Last updated: Thu Apr 25 15:18:23 2002 9786 messages in chronological order |