When the referential integrity plugin is enabled by default (with nsslapd-pluginarg0: 0) it seems to work fine for simple modrdn operations.
However when i put a delay of nsslapd-pluginarg0: 30 (or some other value) it does not work or works incorrectly (case-sensitivity or even the resulting DN cut down after the update to smth like "ou=Users,(null)").
I think it has something to do with how the plugin writes the DNs and changes to the file and how it treats these values afterwards.
Tested with 1.2.10.13 (from SVN) on CentOS 5.8 x86_64. When the rpm will be available i'll be able to make some simple test cases (this time i have tested on our production data).
Here is a simple test case (with dc=example,dc=com and "typical" setup-ds-admin.pl):
{{{ ldapmodify -a -x -h localhost -D "cn=Directory Manager" -w 'password' <<EOF dn: cn=referential integrity postoperation,cn=plugins,cn=config changetype: modify replace: nsslapd-pluginEnabled nsslapd-pluginEnabled: on
- EOF
service dirsrv restart
ldapadd -x -h localhost -D "cn=Directory Manager" -w 'password' <<EOF dn: ou=Subgroups,ou=Groups,dc=example,dc=com changetype: add objectClass: top objectClass: organizationalunit ou: Subgroups
dn: cn=Accounting Submanager,ou=Subgroups,ou=Groups,dc=example,dc=com changetype: add objectClass: top objectClass: groupOfUniqueNames cn: Accounting Submanager ou: subgroups description: People who can manage accounting entries uniqueMember: cn=Directory Manager EOF
ldapadd -x -h localhost -D "cn=Directory Manager" -w 'password' <<EOF dn: uid=account, ou=People,dc=example,dc=com uid: account objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top cn: Test Account givenName: Test sn: Account seeAlso: cn=accounting Submanager,ou=Subgroups,ou=Groups,dc=example,dc=com EOF
ldapmodify -a -x -h localhost -D "cn=Directory Manager" -w 'password' <<EOF dn: ou=Groups,dc=example,dc=com changetype: modrdn newrdn: ou=Groupes deleteoldrdn: 1 newsuperior: dc=example,dc=com EOF
modifying rdn of entry "ou=Groups,dc=example,dc=com" rename completed
}}}
Now verify seeAlso attribute. It points (correctly) to cn=accounting submanager,ou=subgroups,ou=groupes,dc=example,dc=com
Everything works fine if the commented line stays commented. If i decomment the line and the update delay is activated (nsslapd-pluginarg0: 30) the "seeAlso" attribute does not change.
0001-Ticket-410-Referential-integrity-plug-in-does-not-wo.patch 0001-Ticket-410-Referential-integrity-plug-in-does-not-wo.patch
will be in 1.2.10.14 ac92b8f..eefd478 389-ds-base-1.2.10 -> 389-ds-base-1.2.10 commit changeset:6773187/389-ds-base Author: Rich Megginson rmeggins@redhat.com Date: Wed Jul 18 15:19:35 2012 -0600 832a52d..14b82c8 389-ds-base-1.2.11 -> 389-ds-base-1.2.11 commit changeset:14b82c8/389-ds-base Author: Rich Megginson rmeggins@redhat.com Date: Wed Jul 18 15:19:35 2012 -0600 078e65c..0b5cdb4 master -> master commit changeset:0b5cdb4/389-ds-base Author: Rich Megginson rmeggins@redhat.com Date: Wed Jul 18 15:19:35 2012 -0600
Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=841600
Added initial screened field value.
Metadata Update from @nkinder: - Issue assigned to rmeggins - Issue set to the milestone: 1.2.11.8
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/410
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.