Red Hat Bugzilla – Bug 1290726
The 'eq' index does not get updated properly when deleting and re-adding attributes in the same ldapmodify operation
Last modified: 2016-02-16 05:50:34 EST
This bug has been copied from bug #1290600 and has been proposed to be backported to 7.2 z-stream (EUS).
[root@mgmt6 ~]# rpm -qa | grep 389 389-ds-base-1.3.4.0-23.el7_2.x86_64 389-ds-base-libs-1.3.4.0-23.el7_2.x86_64 Verification steps: 1. Setup a RHDS server (stand-alone) 2. Create a user: [root@serv ~]# ldapadd -x -h localhost -D 'cn=Directory Manager' -w Secret123 << EOF dn: uid=user0099,ou=People,dc=example,dc=com givenName: Test sn: User loginShell: /bin/bash uidNumber: 10099 gidNumber: 10099 objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetorgperson objectClass: posixAccount uid: user0099 gecos: Test User mail: user0099@dev.null mail: alias@dev.null cn: Test User homeDirectory: /home/user0099 EOF 3. Update the mail attribute by deleting all values and add only one value, that was previously used, in the same ldapmodify command: [root@serv ~]# ldapmodify -x -h localhost -D 'cn=Directory Manager' -w Secret123 << EOF dn: uid=user0099,ou=People,dc=example,dc=com changetype: modify delete: mail mail: user0099@dev.null mail: alias@dev.null - add: mail mail: user0099@dev.null EOF 4. Search for entries that have 'mail=alias@dev.null' (i.e. the value that was deleted): [root@serv ~]# ldapsearch -LLL -x -h localhost -D 'cn=Directory Manager' -w Secret123 -b "dc=example,dc=com" mail=alias@dev.null cn 5. Check the entry as returned by step 4: [root@serv ~]# ldapsearch -LLL -x -h localhost -D 'cn=Directory Manager' -w Secret123 -b "dc=example,dc=com" uid=user0099 mail dn: uid=user0099,ou=People,dc=example,dc=com mail: user0099@dev.null 6. Check that dbscan of the mail index db doesn't show both values: [root@serv ~]# dbscan -f /var/lib/dirsrv/slapd-serv/db/userRoot/mail.db | grep ^= =user0099@dev.null Marking as VERIFIED.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2016-0204.html