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

Re: which syntax for which assertions?



At 06:50 PM 5/6/2004, Jim Sermersheim wrote:
>I can't find it documented which syntax (the attribute syntax or the
>matching rule syntax) is used for which assertions in various
>operations.

Well, I think the models and X.501 is pretty clear that value in an
AVA is to conform to the assertion syntax, and an attribute value
is to conform to syntax of the attribute type. 

And I think [Protocol] is fairly clear as it uses AttributeValueAssertion
(AVA) and AssertionValue for the former and PartialAttribute (PA) and
AttributeValue for the latter.

>I'll list what I think, but it may be wrong:
>
>AVAs in:                 (A)ttr or (M)atchRule

s/AVA/AVA or PA/ here.

>equality filter          M(of equality mr)
>ge and le filters        M(of ordering mr)
>substring filters        M(of equality mr)
>extensible filter        M(of extensible mr)
>compare                  M(of equality mr)
>add/mod                  A(of equality mr)
>DNs                      A(of equality mr)

DNs clearly are sequences of AVAs.

>So for example, a compare operation which specifies 'attributeTypes'
>will send an 'OID' and not an 'Attribute Type Description'.

Yes.  The assertion syntax of the AttributeType's equality matching
rule is OID.

>Whereas if
>the same attribute were passed in an add operation, it would send an
>'Attribute Type Description', rather than an 'OID'.

Yes, The attribute syntax of the AttributeTYpe is Attribute Type Description.

>It's important to make this distinction because LDAP doesn't provide
>syntax knowledge in AVAs.

In either cases (AVAs or PAs), one has to have schema knowledge to know
the assertion and attribute syntaxes of the attribute type.

>If an AVA also carried with it the syntax used
>for the assertion value, we could derive the 'OID' from the 'Attribute
>Type Description' in the compare example above.  But because we don't
>have this ability, we must state which syntax is used for each operation
>so the server can know how to interpret it.

I don't follow this.  It's clear which attribute type is involved
and its clear from the context whether the value is an assertion
value or an attribute value.  So, with schema knowledge, the
syntax of value can be determined.

Kurt