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

Default encoding (Was: Binary Syntax and the binary Attribute Type option)



I changed the subject as I think this discussion is now largely
not specific to the binary syntax.

At 12:00 PM 1/22/01 +1100, Steven Legg wrote:
>I don't think any of the syntaxes referenced by the "SYNTAX" part of
>the attribute type description is formally associated with an ASN.1
>type definition.

I would agree that some clarification to RFC 2252 might be needed,
but I believe the intent of the table provided in 4.3.2 is to relate
LDAP SYNTAX OIDs to a specific ASN.1 data type definitions found in
X.500(93).  RFC 1778 was actually more clear on the relationship
between LDAP SYNTAXs and X.500 defined ASN.1 data type definitions.
These statements could have been dropped due to the addition of
LDAP specific syntaxes.

>If a formal correspondence between LDAP syntax and ASN.1 type is added
>to the RFCs then the Binary syntax could be described as being the ANY
>type, in which case Binary syntax does have an ASN.1 type definition,
>or it could be described as representing an unspecified "something",
>in which case Binary syntax does not have an ASN.1 type definition.

Yes.

>...so I wonder what is gained by banning the ";binary" option.

Server implementations which support the binary syntax should be
expected to support the string encoding.  The point of ";binary"
is to allow, an implementation could choose to only support
";binary" transfer.  It would be very bad for interoperability
if some servers required "foo" and some required "foo;binary"
(regardless of what syntax foo is).

If we require all implementations to support a particular
encoding, there is no need to "MUST" or "SHOULD" another
encoding.  I don't see any point in a specific "MAY" as
implementations generally MAY be liberal in what accept.
Likewise, one could argue that "MUST NOT" or "SHOULD NOT"
are not needed.

I believe we should consider adding to the specification
statements which say:
 1) each syntax has a default encoding which is to be
    used unless the client requests an alternative encoding, and
 2) a syntax's default encoding is its string encoding unless
    stated otherwise.

Comments?

Kurt