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

Confusion with slapadd and ldapxxx



I've got myself quite confused hopefully someone will recognize this and have a "fix" at hand.

I'm trying to setup an ldap directory (2.0.11) based off of an LDIF from a NS4.1DS.
I've translated my schemas and figured out how to translate all the latin1 to utf8 and all is well  with the database except for one last detail.

My ldif contained a first entry that looked like this...

dn: o=zzzz, c=US
objectclass: top
objectclass: organization
o: zzzz
aci: --- aci junk here ---    
modifiersname: cn=directory superuser
modifytimestamp: 20000705165735Z
copiedfrom: wwww.xxxx.yyyy.com:389 019990310230522 123456

Yes, I realize I did a bad thing and added ACI and COPIEDFROM to TOP but I have to do this to hopefully display openldap "working" abet with NS before it can be considered on it's own. I did it like this...

attributetype ( 1.3.6.1.4.1.9036.1.1 NAME 'aci'
        DESC 'Access Control Instruction'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )

attributetype ( 666.1.1.133 NAME 'copiedFrom'
        DESC 'NS DS-4.12 replicaton server identification field'
        EQUALITY caseIgnoreMatch
        SUBSTR caseIgnoreSubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.44)

objectclass ( 2.5.6.0 NAME 'top'
        DESC 'superior class of all structural and most auxiliary classes'
        ABSTRACT MUST objectClass
        MAY ( aci $ copiedFrom ) ) 

That seems to work. SLAPADD adds them to the database. I can even query them the way NS does when it wants to replicate to a server with the right answer...  

dap@server:/usr/local/etc/openldap > /usr/local/bin/ldapsearch -b "o=zzzz,c=us"  objectclass=* -s base copiedfrom
# extended LDIF
#
# LDAPv3
# filter: objectclass=*
# requesting: copiedfrom
#

# zzzz, US
dn: o=zzzz, c=US
copiedFrom: wwww.xxxx.yyyy.com:389 019990310230522 123456

# search result
search: 2
result: 0 Success

# numResponses: 2
 
Now here is the problem. When I go to use ldapmodify/add/delete to change the value for copiedform...

dap@server:/usr/local/etc/openldap > /usr/local/bin/ldapmodify -f update
modifying entry "o=zzzz,c=US"
ldap_modify: No such object

ldif_record() = 32

Where update looks like this...

dn: o=zzzz,c=US
changetype: modify
delete: copiedfrom
-
add: copiedfrom
copiedfrom: aaaa.bbbb.cccc.com:389 02000041114345 54321

Did slapadd miss something and ldapxxxx are turning their noses up at? It appears this is the last "issue" (I hope) with setting up replication between NS and openldap. Thanks.              

******************************************************************* 
Alan D. Lawrence 
Phone:  (313)390-2312    Address:    Ford Motor Company 
Fax:    (313)390-1274                American Road 
Email:  alawren3@ford.com            P.O. Box 1732, MD1489 
                                     Dearborn, MI 48121