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

RE: Filter Items and Absent Attributes



Kurt,

Nice pick up!

Kurt D. Zeilenga wrote:
> I think a very strong case can be made that (foo=bar) should
> evaluate to False if foo is known, has an equality rule,
> the assertion value conforms to the assertion syntax, and
> the attribute (or its subtypes) does contain the value "bar".

I think you left a "not" out.

> 
> In particular, X.511(93), 7.8.2 details conditions for which
> any assertion about values is only defined.  IMO, the 
> assertion meets the conditions.  7.8.2 also states that
> filter items are evaluated as attribute value assertions.
> X.501(93) states:

It is clause 8.7.2 in my copy of X.501(93). Given the absence of
anything in the description of Filter in X.511(93) that contradicts
8.7.2, I think the obvious conclusion is that the second edition
of X.500 specifies that a filter item evaluates to FALSE if the
attribute is not present.

> 
>   An AVA is:
>      a) undefined, if any of the following hold:
>         1) the attribute type is unknown,
>         2) the attribute type has no equality matching rule,
>         3) the value does not conform to the data type indicated
>            by the syntax of the assertion of the attribute's
>            equality matching rule;
>      b) true, if the entry contains an attribute of that type,
>         one of whose values matches that value;
>      c) false, otherwise.
> 
> It appears that most server implementations in accordance
> with this interpretation and not the 4th edition.

I've had a look at the corresponding clause in X.501(93), 8.8.2, and
apart from some extra guff about contexts, it says the same thing,
which means that X.501(2001) and X.511(2001) contradict each other!
It looks like the X.500 working group has some cleaning up to do.

Regards,
Steven