#410 Referential integrity plug-in does not work when update interval is not zero
Closed: Fixed None Opened 6 years ago by pj101.

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

nsslapd-pluginarg0: 30

-
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

Added initial screened field value.

Metadata Update from @nkinder:
- Issue assigned to rmeggins
- Issue set to the milestone: 1.2.11.8

2 years ago

Login to comment on this ticket.

Metadata