[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: absent matchingRule (was Re: protocol-27 comments #3)
>>> Hallvard B Furuseth <h.b.furuseth@usit.uio.no> 11/8/04 3:31:39 PM
>>>
>Jim Sermersheim writes:
>>>>> Hallvard B Furuseth < h.b.furuseth@usit.uio.no > 11/8/04 5:59:28
AM
>>>> If the matchingRule field is absent, the type field MUST be
>>>> present, and an equality match is performed for that type.
>>>
>>>>Which means just (:dn:=foo) is not allowed. Maybe the draft should
>>>suggest that one can use (1.1:dn:=foo).
>>
>> Well, what does (1.1:dn:=foo) mean? I think it means that this
filter
>> will always evaluate to undefined.
>
>Looking at the description of dnAttributes under extensibleMatch in
>4.5.1. Search Request, it returns TRUE if a DN attribute matches foo
-
>regardless of Undefined or False from the rest of the filter.
Hmm, to me it looks like the attribute type is unknown, thus the entire
filter item would be Undefined.
>Though
>maybe I'm just getting lost here - at the moment I can't see where
the
>draft says that matching an unknown attribute type returns Undefined,
>and certainly not where it says that this overrides the dnAttributes
>description.
A filter item evaluates to Undefined when...
- An attribute description in an equalityMatch, substrings,
greaterOrEqual, lessOrEqual, approxMatch or extensibleMatch
filter is not recognized by the server.
I don't think anything needs to be said to the effect that such a case
would override the dnAttributes description. On the contrary, if
dnAttributes was allowed to override this instruction, I think it would
have to be explained.
>>> Also, is it an error to violate this "MUST"? Most other invalid
>>> filters just return Undefined.
>>
>> My read is that this is a protocol violations (and other protocol
>> violations in filters are not evaluated to undefiened, they return
>> protocolError)
>
>OK. In that case I have a problem with the MUSTs for search requests
>that it is not a protocol violation to violate, but I think we've
been
>there before.
In this specific example, the protocol specification is placing an
imperative on the format of the protocol. Not following the imperative
is violation of the protocol.
>
>--
>Hallvard
Jim