I am running openldap on Redhat 6 at 2.4.23.  I am using cn=config. 

I have a schema called uri was added during the initial setup of this server a few years ago.  In this schema I have an

dn: cn={12}uri,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: {12}uri
olcAttributeTypes: {0}( 1.3.6.1.4.1.14092.2.1.1 NAME 'uriid' EQUALITY caseIgno
 reMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
olcAttributeTypes: {1}( 1.3.6.1.4.1.14092.2.1.2 NAME 'dept' EQUALITY caseIgnor
 eMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{
 256} )
....
olcObjectClasses: {7}( 1.3.6.1.4.1.14092.2.2.8 NAME 'URIEducmanager' DESC 'URI
 Educmanager' STRUCTURAL MAY ( uid $ userPassword $ employeeNumber $ cn $ sn $
  givenname $ telephoneNumber $ dc ) )
olcObjectClasses: {8}( 1.3.6.1.4.1.14092.2.2.9 NAME 'URIEdusakaiperson' DESC '
 URIEdusakaiperson' STRUCTURAL MUST ( URIEduemplid $ URIEduecampusid $ URIEdus
 n $ URIEdustatus $ userPassword ) MAY ( mail $ URIEdugn ) )


I need to update the URIEducmanager objectclass to include the mail object so it will be:

olcObjectClasses: {7}( 1.3.6.1.4.1.14092.2.2.8 NAME 'URIEducmanager' DESC 'URI
 Educmanager' STRUCTURAL MAY ( uid $ userPassword $ employeeNumber $ cn $ sn $
  givenname $ mail $ telephoneNumber $ dc ) )

I have tried many combinations the last of which is
ldapmodify -D "cn=admin,cn=config" -x -W -f /root/ldapscripts/updatecmanager.ldif -v -H ldap://locumtenens.uri.edu

where updatecmanager.ldif contains:
 
dn: cn={12}uri,cn=schema,cn=config
changetype: modify
delete: objectclass
objectclass: ( 1.3.6.1.4.1.14092.2.2.8 NAME 'URIEducmanager'
 DESC 'URIEducmanager'
 STRUCTURAL MAY ( uid $ userPassword $ employeeNumber $
 cn $ sn $givenname $  telephoneNumber $ dc ) )
-
add: objectclass
objectclass:  ( 1.3.6.1.4.1.14092.2.2.8 NAME 'URIEducmanager'
 DESC 'URIEducmanager' SUP top AUXILIARY
 STRUCTURAL MAY ( uid $ userPassword $ employeeNumber $
 cn $ sn $givenname $ mail $ telephoneNumber $ dc ) )

My run looks like

ldapmodify -D "cn=admin,cn=config" -x -W -f /root/ldapscripts/updatecmanager.ldif -v -H ldap://locumtenens.uri.edu
ldap_initialize( ldap://locumtenens.uri.edu:389/??base )
Enter LDAP Password:
delete objectclass:
    ( 1.3.6.1.4.1.14092.2.2.8 NAME 'URIEducmanager'DESC 'URIEducmanager'STRUCTURAL MAY ( uid $ userPassword $ employeeNumber $cn $ sn $givenname $  telephoneNumber $ dc ) )
add objectclass:
    ( 1.3.6.1.4.1.14092.2.2.8 NAME 'URIEducmanager'DESC 'URIEducmanager' SUP top AUXILIARYSTRUCTURAL MAY ( uid $ userPassword $ employeeNumber $cn $ sn $givenname $ mail $ telephoneNumber $ dc ) )
modifying entry "cn={12}uri,cn=schema,cn=config"
ldap_modify: Invalid syntax (21)
    additional info: objectclass: value #0 invalid per syntax

I have checked for extra blanks on the line, I have tried it with replace instead of delete and add.  I must be missing some important facts about how it should be done.

Any help greatly appreciated!

Kathy


-- 
Katherine Faella                        tel: (401) 874-4469
Sr. Technical Programmer                kmf@uri.edu
University of Rhode Island
University Computing Systems(UCS)
210 Flagg Road
Kingston, Rhode Island  02881