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

Re: Help with upgrading OpenLDAP...



Hi,

On Saturday 12 February 2005 17:51, Andrew McCall wrote:
> I have started to move it to a newer version of OpenLDAP, and I have
> most things up and running, but I can't actually get my data into the
> directory!
>
> dn: uid=XXXXXXXX.XXXXXXXX,o=oldhammbc,c=uk
> uid: decision.recording
> userPassword: XXXXXXX
> mail: XXXXXXXX@oldham.gov.uk
> accountStatus: active
> mailMessageStore: XXXXXXXX.XXXXXXXX
> mailAlternateAddress: XXXXXXXX@XXXXXXXX.oldham.gov.uk
> deliveryMode: normal
> objectClass: top
> objectClass: organizationalPerson
> objectClass: inetOrgPerson
> objectClass: qmailuser
> objectClass: ombcperson
> objectClass: person
> qmailGID: 507
> qmailUID: 503
> givenName: XXXXXXXX
> sn: XXXXXXXX
> cn: XX XXXXXXXX XXXXXXXX
> departmentShortName: XX
> departmentLongName: XXXXXXXX XXXXXXXX's XXXXXXXX
> subschemaSubentry: cn=Subschema
> mailType: with Prefix
> modifiersName: cn=administrator, o=oldhammbc, c=uk
> modifyTimestamp: 20040119095346Z
>
> The error I am getting is this:
>
> slapadd: dn="uid=XXXXXXXX.XXXXXXXX,o=oldhammbc,c=uk" (line=26): (65)
> invalid structural object class chain (inetOrgPerson/ombcPerson)

Earlier versions of OpenLDAP did not check that each object has exactly one
structural object class while the current version does.
With OL 2.2 the inheritance graph for the strucural object class needs to
end in exacly one objectclass for each entry.

You get this warning because you have two structural objectclasses: 
inetOrgPerson and ombcPerson.
None of them is derived from the other which makes slapadd choke on the
input.

I guess ombcPerson is derived from person (i.e. has SUP person) in it's
definition) or from organizationalPerson). In this case changing ombcPerson
to SUP inetOrgPerson should do the trick.

Alternatively you may create another objectclass (e.g. 'ombcInetOrgPerson'
that inherits from both (i.e has SUP ( inetOrgPerson $ ombcPerson ) in its
definition) and add this objectclass to all objects that currently have 
objectclasses inetOrgPerson and ombcPerson.

Hope it helps
Peter
-- 
Peter Marschall
eMail: peter@adpm.de