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

(ITS#5901) modrdn syncing busted



Full_Name: Quanah Gibson-Mount
Version: 2.4.13
OS: NA
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (75.111.29.239)


As noted in a post to the bugs list:

Hello,


I have configured a central OpenLDAP, using Debian Etch, version: slapd
2.3.30-5+etch1, which is also a sync provider.

Another Debian Etch box uses the sync:
syncrepl rid=123
        provider=ldap://example.com
        type=refreshAndPersist
        retry="5,2,30,2,60,+"
        interval=00:01:00:00
        searchbase="basedn"
        filter="(objectClass=*)"
        scope=sub
        attrs="*,+"
        sizelimit=0
        timelimit=0
        schemachecking=on
        bindmethod=simple
        binddn="someDN"
        credentials="somePwd"
        starttls=critical


This works fine, but moddn fails:


for testing purpose I ldapadd :


dn: c=testtt,ou=basedn
c: testtt
objectClass: country


then:


ldapmodrdn -r 'c=testtt,ou=basedn' 'c=testww'


It works on the sync provider (schemacheck on)


and the result is:


dn: c=testww,ou=basedn
objectClass: country
c: testww


But on the sync consumer:


: syncrepl_entry: c=testww,ou=basedn : Entry (c=testww,ou=basedn attribute 'c'
cannot have multiple values : entry failed schema check: attribute 'c' cannot
have multiple values : null_callback : error code 0x13 : syncrepl_entry:
be_modrdn (19)

The testtt entry is still present on the secondary box.


If I delete "testww" on the sync provider, the "testt" entry in the consumere is
deleted.



As noted by Howard in follow up:

Actually... this would have worked correctly in 2.4.11 and 2.4.12. In 2.4.13 I
reverted back to the 2.3 behavior due to other concerns, so this will probably
fail again. And the test script does a rename on an entry whose distinguished
attribute is multivalued, so it doesn't catch this case. I think we'll have to
revisit this patch for 2.4.14 and add an additional rename test to test017 and
test018.