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

Re: slapd -- do_delete dn case normalization.

At 03:12 PM 6/29/99 -0700, Warren Usui wrote:
>do_delete in slapd/delete.c does a case normalization of the
>distinguished name.

Yes.  OpenLDAP assumes all DN attributes are matched using a
case ignore matching rule and hence the simple dn_normalize_case
implementation.   This is likely to change in future release.

>The entry that I was trying to delete had a lower-case attribute value
>in the dn.
>Another entry was deleted instead.  In other words,  I tried to delete
>the dn
>"FOO=bar ..." and the dn "FOO=BAR ..." was deleted.
>These were two different entries.

with the same normalized dn string... which is a input error.

You must have used ldif2ldbm... (which shouldn't be used to populate
a directory).  ldapadd would have refused to create the second entry.

>I could believe that it is not recommended to have two
>different entries that
>are the same text but capitalized differently,

It's recommended that you use ldapadd to populate your directory.
It will enforce the DN requirements.

>but as far as I can tell (I did not find
>anything saying that this was case insensitive), this should be allowed.

Per X.500, it depends on the naming attribute types.  Most are
case ignore... but others are allowed by the specification (just
not be OpenLDAP).

>I am relatively new to using LDAP so I could easily believe that I'm
>missing something, but this does seem like a problem to me.

I think you just missed 'ldapadd'.