Bug 733072 - Overlay refint option refint_nothing doesn't function correctly
Summary: Overlay refint option refint_nothing doesn't function correctly
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: openldap
Version: 15
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
Assignee: Jan Vcelak
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 725479
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-08-24 15:58 UTC by Jan Vcelak
Modified: 2013-03-04 01:29 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 725479
Environment:
Last Closed: 2011-08-24 18:24:13 UTC


Attachments (Terms of Use)

Description Jan Vcelak 2011-08-24 15:58:20 UTC
+++ This bug was initially created as a clone of Bug #725479 +++

Created attachment 515097 [details]
Slapd configuration file

Description of problem:
Overlay refint option refint_nothing doesn't function correctly. After delete the last value, an arbitrary value should be used as a placeholder. Attribute doesn't have an arbitrary value, but last value before delete.

Version-Release number of selected component (if applicable):
openldap-servers-2.4.23-15.el6

How reproducible:
always

Steps to Reproduce:
1.slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
(slapd.conf is in attachement)
2.add entry
dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
dc: my-domain
o: my-domain
description: my-domain

dn: cn=Manager,dc=my-domain,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=my-domain,dc=com
objectClass: organizationalUnit
ou: People

dn: uid=ldap1,ou=People,dc=my-domain,dc=com
cn: ldap1
objectClass: account
objectClass: posixAccount
objectClass: top
uid: ldap1
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/ldap/ldap1
gecos: ldap1_user
loginShell: /bin/sh
userPassword: {SSHA}vXxC+eHHxf4p16273jJfK1xGrMSn+aUT

dn: uid=ldap2,ou=People,dc=my-domain,dc=com
cn: ldap2
objectClass: account
objectClass: posixAccount
objectClass: top
uid: ldap2
uidNumber: 10002
gidNumber: 10002
homeDirectory: /home/ldap/ldap2
gecos: uid=ldap1,ou=People,dc=my-domain,dc=com
loginShell: /bin/sh
userPassword: {SSHA}vXxC+eHHxf4p16273jJfK1xGrMSn+aUT
3.ldapdelete -x -D cn=Manager,dc=my-domain,dc=com -w x uid=ldap1,ou=People,dc=my-domain,dc=com
4.ldapsearch -LLL -b dc=my-domain,dc=com -x "(uid=ldap2)" gecos
  
Actual results:
dn: uid=ldap2,ou=People,dc=my-domain,dc=com
gecos: uid=ldap1,ou=People,dc=my-domain,dc=com

Expected results:
dn: uid=ldap2,ou=People,dc=my-domain,dc=com
gecos: cn=missing,dc=my-domain,dc=com

Additional info:
When option refint_nothing missing, the attribute gecos is correctly missing in entry uid=ldap2,ou=People,dc=my-domain,dc=com.

--- Additional comment from jvcelak@redhat.com on 2011-08-12 13:34:40 CEST ---

I found the problem, working on resolution.

bdb_modify: uid=ldap2,ou=People,dc=my-domain,dc=com
bdb_dn2entry("uid=ldap2,ou=people,dc=my-domain,dc=com")
bdb_modify_internal: 0x00000005: uid=ldap2,ou=People,dc=my-domain,dc=com
bdb_modify_internal: delete gecos
bdb_modify_internal: replace modifiersName
bdb_modify_internal: delete gecos
bdb_modify_internal: 16 modify/delete: gecos: no such attribute
bdb_modify: modify failed (16)
send_ldap_result: conn=-1 op=0 p=0
send_ldap_result: err=16 matched="" text="modify/delete: gecos: no such attribute"
refint_repair: dependent modify failed: 16

--- Additional comment from jvcelak@redhat.com on 2011-08-16 13:57:48 CEST ---

Upstream report:
http://www.openldap.org/its/index.cgi?findid=6663

Upstream resolution:
http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;h=4ce7f5d

Tested, the fix works.

Comment 1 Jan Vcelak 2011-08-24 18:24:13 UTC
Sorry, wrong report. Fedora 15 and higher are not affected.


Note You need to log in before you can comment on or make changes to this bug.