wiki:ABxLDAP

Address Book X LDAP

LDAP Error : Object class violation (65)

LDAP Error 65 additional info: attribute 'apple-generateduid' not allowed is caused by a bug in the schema binding configuration. If you get the following error message in the console :

com.j2anywhere.AddressBook4LDAP[7611] LDAP ADD: Object class violation (65)
com.j2anywhere.AddressBook4LDAP[7611]  additional info: attribute 'apple-generateduid' not allowed

and this error on the LDAP server

 err=65 matched="" text="attribute 'apple-generateduid' not allowed"

Resolution

Update the schema binding file to use the following objectClasses:

  • objectClass: top
  • objectClass: person
  • objectClass: organizationalPerson
  • objectClass: inetOrgPerson
  • objectClass: extensibleObject

The complete binding is attached below and should be placed into :

/Library/Application Support/ABxLDAP

on each client.

Thanks to Mats Schwieger for pointing this out and finding a solution.

ABxLDAP on OpenDirectory

Apparently Open Directory "DOES" use slapd.conf, but it's only used the first time you set up OD. Upon setup, information from slapd.conf is re-modeled and stored in /etc/opendirectory/slapd.d.

The following can be used to force it to re-read slap.conf and recreate slapd.d.

 www.afp548.com

Seems that if you want custom schemas you have to let openldap do the conversion to the new model. To the point, set up your custom schema file as you would have done previously (include statement in slapd.conf and >the schema file under schema directory). Then stop slapd and trash (or stash) the old slapd.d directory and create a new slapd.d (check that the permissions are the same on) directory. After that you just type

#> slaptest -f slapd.conf -F slapd.d

and boom, you have slapd.d hierarchy that has your custom schemas. Now just start slapd again and start adding yuor attributes.

Thanks to Bill for this hint