|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: Section 4.1 clarifications
Thanks 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 |