Re: [Models] An attribute value should be equal to self

"Kurt D. Zeilenga" <[email protected]>
Newsgroups gmane.ietf.ldapbis
Message-ID <[email protected]>
At 10:58 PM 3/7/2005, Steven Legg wrote:

>Kurt,
>
>Kurt D. Zeilenga wrote:
>>At 05:20 PM 3/7/2005, Steven Legg wrote:
>>
>>>I dislike it too. I would prefer that LDAPprep removes troublesome characters instead of failing. 
>>
>>It is not clear to me that X.500 requires for every equality
>>matching rule R and every value X of the applicable attribute
>>value syntax that:
>>        R( X, X ) == TRUE
>>In absence of a guarantee that R( X, X) is always TRUE,
>>the [Models] statement in necessary.
>
>It is only necessary in the case of the string matching rules because LDAPprep
>can fail.

It's also necessary because X.500, I think, doesn't guarantee
that all equality rules ensure R( X, X ) == TRUE. 

And, in regards to LDAPprep, it is difficult to prevent LDAPprep
from failing.  For instance, step 3 (Normalize) will fail
on any input which cannot be processed by NKFC algorithm.

Hence, if X.500 requires all equality rules to ensure R(X,X),
not only would be have to eliminate all prohibitions, we'd
have to eliminate NKFC normalization.

>If LDAPprep didn't fail then R(X, X) = TRUE would always be trivially
>satisfied. No test would be required.
>
>BTW, in the case where matching is not undefined, the X.500 requirement for
>transitivity, i.e. a=b and b=c then a=c, and commutativity, i.e. a=b then b=a, guarantees a=a.  If b=c then c=b, which means a=b and c=b implies a=c. If c is identical to a then we have a=a.

If you can find values of b and c such that these statements
are true in respect to a, then, yes, a==a.  However, if
R(a,a) is Undefined, you shouldn't be able to find any such
b and c.

Kurt
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.