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

Re: "no structuralObjectClass operational attribute" ?



At 03:33 PM 2002-08-26, Darren Gamble wrote:
>I recently checked out a CVS version of HEAD (on Friday) and imported my
>directory into it (using slapadd).  Everything imports OK (schemacheck on,
>of course!) and I can query data from the server fine.
>
>But, I can not add ANY new entries with ldapadd.  If I shut the server down
>and use slapadd instead, they add without even a warning and can be queried
>when the server starts back up.
>
>The message I get with ldapadd (or with any other tool I've used) is:
>
>
>ldap_add: Object class violation (65)
>        additional info: no structuralObjectClass operational attribute

This means that the entry has some sort of structural
object class problem. Without a copy of the entry (and
applicable custom schema, if any), I am not able to
determine what the exact problem is.

>Some Googling for just that attribute name reveals that the attribute
>"structuralObjectClass" is used in some directory servers to define the
>objectclass which is the structural objectclass.  I don't understand why
>this is even necessary, as OpenLDAP 2.1.X already seems to reject any
>entries that don't have exactly one structural objectclass.  At any rate I
>have been unable to find out, as the word "structuralObjectClass" doesn't
>appear anywhere in the 2.1 Handbook, doesn't appear in the FAQ (using the
>OpenLDAP online search tools) and doesn't appear in the man pages (again,
>using the OpenLDAP online search tools).

The Admin Guide and manual pages does not detail the
LDAP/X.500 models... at least not yet.  The FAQ could do
with some answers in this area.

>Why do additions work with slapadd, but not ldapadd?

slapadd(8) does a subset of the checks that slapd(8) does
upon receipt of an LDAP Add request from ldapadd(1) (or
other client).

>Am I supposed to add a "structuralObjectClass" to all of my ldap additions?

No.  The slapd(8) will generate it on input.  (It will be in
slapcat(8) output, which can be feed back into a slapadd(8).
But you shouldn't muck with its value.)

>Is this "structuralObjectClass" documented anywhere on OpenLDAP's site?

No.

>Or, is this just a bug?

The misleading error message is a bug...  I cannot, from
the information provided, tell if there are additional
bugs here.



>Thanks in advance,
>
>============================
>Darren Gamble
>Planner, Regional Services
>Shaw Cablesystems GP
>630 - 3rd Avenue SW
>Calgary, Alberta, Canada
>T2P 4L4
>(403) 781-4948