Good day,


Can anyone know how to update the ldap objects in ver 2.4.31.

I have an object:

    dn: cn=crit3,ou=criteria,o=n1,dc=nodomain
    objectClass: top
    objectClass: n1criterion
    cn: crit3
    n1asn: 1004
    n1cc: US
    n1fqdn: nask.pl
    n1iprange: 4000,4004

with def: 
    attributetype ( 1.5.2.6.6.6.1 
        NAME 'n1asn' 
        DESC 'number Autonomous System' 
        SUP cn 
     )

    attributetype ( 1.5.2.6.6.6.2 
        NAME 'n1cc' 
        DESC 'country code' 
        SUP cn 
     )

    attributetype ( 1.5.2.6.6.6.3 
        NAME 'n1fqdn' 
        DESC 'domain' 
        SUP cn 
     )

    attributetype ( 1.5.2.6.6.6.4 
        NAME 'n1iprange' 
        DESC 'ip range' 
        SUP cn 
     )

    objectclass ( 1.5.2.6.6.7.1 
        NAME 'n1criterion' 
        DESC 'criterion' 
        SUP top 
        STRUCTURAL 
        MUST cn 
        MAY ( n1asn $ n1cc $ n1fqdn $ n1iprange ) 
     )




and I want to add another attribute, say n1yyy

    attributetype ( 1.3.6.1.4.1.111111.99.7 
        NAME 'n1yyy' 
        DESC 'vvvv' 
        SUP n1cc 
     )

    objectclass ( 1.3.6.1.4.1.111111.99.8 
        NAME 'n1CNEWcollect' 
        DESC 'cvcxvcxvxc' 
        SUP n1criterion 
        STRUCTURAL 
        MAY n1yyy 
     )



So creating new atrubut, and class it uses, adding to the schema

I want to add to the object dn, a new class, or replace existing
it gets the error:

    #!RESULT ERROR
    #!CONNECTION ldap://deb:389
    #!DATE 2013-10-23T10:14:34.751
    #!ERROR [LDAP: error code 69 - structural object class modification from 'n1criterion' to 'n1CNEWcollect' not allowed]
    dn: cn=crit3,ou=criteria,o=n1,dc=nodomain
    changetype: modify
    add: objectClass
    objectClass: n1CNEWcollect
    -

    #!RESULT ERROR
    #!CONNECTION ldap://deb:389
    #!DATE 2013-10-23T10:17:33.763
    #!ERROR [LDAP: error code 69 - structural object class modification from 'n1criterion' to 'n1CNEWcollect' not allowed]
    dn: cn=crit3,ou=criteria,o=n1,dc=nodomain
    changetype: modify
    add: n1yyy
    n1yyy: SS
    -
    add: objectClass
    objectClass: n1CNEWcollect
    -

    #!RESULT ERROR
    #!CONNECTION ldap://deb:389
    #!DATE 2013-10-23T10:18:15.412
    #!ERROR [LDAP: error code 69 - structural object class modification from 'n1criterion' to 'n1CNEWcollect' not allowed]
    dn: cn=crit3,ou=criteria,o=n1,dc=nodomain
    changetype: modify
    add: cn
    cn: dddd
    -
    add: objectClass
    objectClass: n1CNEWcollect



The only thing that works is:
-export facility to ldif
-swapping of a new class (which inherits old)
-Remove the item from the tree,
-add the ldif (with swapped class)

Maybe I do not understand something, ask for help, how to expand objects


Mariusz