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

"no structuralObjectClass operational attribute" ?

Good day,

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

A few people have reported this problem on the mailing list archives.  The
only hint of a resolution was the following:


... except that I have schemacheck on, and it's a lot later than July 5.

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).

Why do additions work with slapadd, but not ldapadd?  Am I supposed to add a
"structuralObjectClass" to all of my ldap additions?  Is this
"structuralObjectClass" documented anywhere on OpenLDAP's site?  Or, is this
just a bug?

Thanks in advance,

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