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

Objectclass inheritance mechanism in queries doesn't seem to work (ITS#2053)

Full_Name: M.-A. DARCHE
Version: 2.1.4
OS: GNU/Linux
Submission from: (NULL) (

RFC 2251 has a very short paragraph about objectclass inheritance :
   Each entry MUST have an objectClass attribute.
   When creating an entry or adding an objectClass value to
   an entry, all superclasses of the named classes are _implicitly_added_
   _as_well_if_not_already_present_, and the client must supply values for
   any mandatory attributes of new superclasses.

So, if an entry present in OpenLDAP has a superclass, querying for the
superclass should return this entry. Right now it doesn't :-(

There is a test in the source code distribution about search, named :
This test is passing, but doesn't contain a "true" case for inheritance

test003-search tests querying, but only after populating with an LDIF content 
that _explicitly_ specifies objectclass attributes, thus invalidating any tests
The LDIF content is :

As said, in this LDIF content every OpenLDAPperson entry is _explicitly_
as a person objectclass :

  dn: cn=Ursula Hampster,ou=Alumni Association,ou=People,o=University of
  objectclass: top
  objectclass: person
  objectclass: OpenLDAPperson

To exactly test inheritance, just add the following entry at the end of :

  dn: cn=testEntry,ou=Alumni Association,ou=People,o=University of
  objectclass: inetOrgPerson
  cn: testEntry
  sn: Test

And in test003-search, add the following :
echo "Testing inheritance searching..."

If OpenLDAP work as I understand it should, we should see the testEntry
entry returned... which is not the case.