[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: AttributeTypeValue and binary



I believe there is consensus regarding the first part of this message. That being that the first paragraph of section 4.1.6 is confusing, and leaves the reader unsure as to whether or not all binary encodings require an extra OCTET STRING wrapper. 

Unless there are objections, I will make the following change to the protocol document:

4.1.6
<A field of type AttributeValue takes on as its value either a string encoding of a AttributeValue data type, or an OCTET STRING containing an encoded binary value, depending on whether the "binary" option is present in the companion AttributeDescription to this AttributeValue.
>A field of type AttributeValue is an OCTET STRING containing either a string encoding, or an encoded binary value of an AttributeValue data type, depending on whether the "binary" option is present in the companion AttributeDescription to this AttributeValue.

Note that this does not address any of the following recently discussed related issues:
- default encoding.
- future possiblity of other encodings.
- explicit tying of the term binary to BER.
- exclusion of ;binary with binary syntax.

I'll wait for more discussion before addressing these issues in the doc. 

Regarding the future possibility of other encodings, I'd like to add a statement to the end of the ammended paragraph above that reads: "Note that future AttributeDescription options may define other encodings that may be contained in the AttributeValue". Any feedback on that?

Jim

>>> "Kurt D. Zeilenga" <Kurt@OpenLDAP.org> 1/17/01 2:20:45 PM >>>
RFC 2251, 4.1.6:
   A field of type AttributeValue takes on as its value either a string
   encoding of a AttributeValue data type, or an OCTET STRING containing
   an encoded binary value, depending on whether the "binary" option is
   present in the companion AttributeDescription to this AttributeValue.
        AttributeValue ::= OCTET STRING

This wording can be interpreted as either:
   A field of type AttributeValue is an OCTET STRING which contains
   either a string encoding of a AttributeValue data type or an
   binary encoded value depending on whether the "binary" option is
   present in the companion AttributeDescription to this AttributeValue.

or:
   A field of type AttributeValue is an OCTET STRING which contains
   either a string encoding of a AttributeValue data type or an
   OCTET STRING containing an binary encoded value depending on
   whether the "binary" option is present in the companion
   AttributeDescription to this AttributeValue.

RFC 2252, 4.3.1 provides clarification that the correct interpretation
is the former.  I think RFC 2251 should be clarified to remove any
doubt.

Actually, I suggest that the description of the "binary" transfer
option be described completely within (and only within) RFC 2251
and that "binary" syntax be described within RFC 2252.  

Also as previously noted on the LDAPext mailing list (see archives
for discussion), "binary" transfer of values of "binary" syntax
makes little sense and likely should be disallowed.

Comments?