Hello,

 

I’m trying to modify an LDAP node to change its objectClasses:

dn: cn=canon-c5250,ou=printers,ou=systems,dc=xxx,dc=xxx

cn: canon-c5250

description:: Q2Fub24gSVIgQURWIEM1MjUwIA==

labeledURI: ipp://127.0.0.1

ipHostnumber: 127.0.0.1

macAddress: 12:12:12:12:12:12

objectClass: top

objectClass: gotoPrinter

 

I want to remove gotoPrinter objectClass which is flagged as OBSOLETE and instead use fdPrinter, ipHost and ieee802Device.

I try with an ldif with the following content:

dn: cn=canon-c5250,ou=printers,ou=systems,dc=xxx,dc=xxx

changetype: modify

replace: objectClass

objectClass: fdPrinter

objectClass: ieee802Device

objectClass: ipHost

objectClass: top

 

I get:

ldapadd -D cn=admin,dc=xxx,dc=xxx -f modify.ldif -W

ldap_modify: Object class violation (65)

 

How can I get more information? I don’t know which violation that could be, as I am able to insert a second object with no problem which looks like what I want:

dn: cn=test-print,ou=printers,ou=systems,dc=xxx,dc=xxx

changetype: add

cn: test-print

description: test

labeledURI: ipp://127.0.0.1

ipHostnumber: 127.0.0.1

macAddress: 12:22:12:12:22:22

objectClass: fdPrinter

objectClass: ieee802Device

objectClass: ipHost

objectClass: top

 

Here are the classes definitions:

objectclass (1.3.6.1.4.1.10098.1.2.1.31 NAME 'gotoPrinter'

DESC 'GOto - Gonicus Terminal Concept, objectclass' SUP top STRUCTURAL

OBSOLETE

MUST ( cn )

MAY ( labeledURI $ description $ l $ gotoPrinterPPD $ macAddress $ ipHostNumber $ gotoUserPrinter $

gotoUserAdminPrinter $ gotoGroupPrinter $ gotoGroupAdminPrinter $

printerWindowsInfFile $ printerWindowsDriverDir $ printerWindowsDriverName) )

 

objectclass ( 1.3.6.1.4.1.38414.16.2.5 NAME 'fdPrinter'

DESC 'FusionDirectory printer class'

MUST ( cn )

MAY ( labeledURI $

fdPrinterWindowsInfFile $ fdPrinterWindowsDriverDir $ fdPrinterWindowsDriverName $

fdPrinterUsers $ fdPrinterAdminUsers))

 

Côme