Excuse me, but how can you possibly ignore
an unknown alternative in a CHOICE type? What if LDAMessage.protocolOp is not
one of the published ones? Do you say, "Well, at least I got a messageID - let's
see if there are controls." The same for enumerated types.
The beauty of ignoring (trailing)
unrecognised items is that you already have enough to form a legal operation -
additional items would merely have the same status as controls.
Ron
<Second try. I got no
response last time.>
>>> "Jim Sermersheim"
<jimse@novell.com> 7/14/03 3:16:38 PM >>> All,
There
is the statement in [Protocol] that instructs: "Because of the implied
extensibility, clients and servers MUST ignore trailing SEQUENCE elements
whose tags they do not recognize."
This is basically the same text as
RFC2251 (we added the _why_, and the word "trailing").
But I think
this falls short of what it really intends to say. I think that what it
really intends to say is that: "protocol peers MUST ignore the presence of
arbitrary unexpected extension additions above those defined (if any) in a
SEQUENCE or SET type, or of an unknown alternative in a CHOICE type, or an
unknown ENUMERATION in an enumerated type, or of an unexpected length or
value of a type whose constraint is extensible."
I just s! tole most
of that from X.680, thus it could be shortened with a reference, but I
think the information might be handy. Also, we should likely preserve the
"trailing" word.
comments?
Jim
|