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

ldapdelete failed. *ldbm_back_delete: parent does not exist*



Sir,


I've been banging my head against OpenLDAP for two days, Now I can add entry
to it, but I can't delete the entry I just added, and I can't add the child
entry to it. I need your help.

I instlled the OpenLDAP from my Redhat7.1 CD, and followed the Atif
Ghaffar's article
http://www.linuxfocus.org/English/July2000/article159.shtml to setup it, but
failed, I always got the sasl error. After many times test, I changed the
slapd.conf like this

#### slapd.conf begin
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/redhat/rfc822-MailMember.schema
include         /etc/openldap/schema/redhat/autofs.schema
include         /etc/openldap/schema/redhat/kerberosobject.schema
database        ldbm
suffix          ""
#### slapd.conf end

and used saslpasswd to add the userid 'root' to the sasldb, so I can add the
entry like this
ldapadd -Uroot -wtest < linuxfocus.org.ldif

### linuxfocus.org.ldif begin
dn: o=linuxfocus.org
o: linuxfocus.org
objectclass: top
objectclass: organization
### linuxfocus.org.ldif end

But when I want to delete the entry by "ldapdelete -Uroot -wtest
'o=linuxfocus.org'", I always get error "Additional info: could not locate
parent of entry", and the slapd's debug output :

dn2entry_r: dn: "O=LINUXFOCUS.ORG"
=> dn2id( "O=LINUXFOCUS.ORG" )
====> cache_find_entry_dn2id("O=LINUXFOCUS.ORG"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_r( 1 )
entry_rdwr_rtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=linuxfocus.org" (found) (1 tries)
<= id2entry_r( 1 ) 0x80f6c28 (cache)
entry_rdwr_runlock: ID: 1
====> cache_return_entry_r( 1 ): returned (0)
==> ldbm_back_delete: o=linuxfocus.org
dn2entry_w: dn: "O=LINUXFOCUS.ORG"
=> dn2id( "O=LINUXFOCUS.ORG" )
====> cache_find_entry_dn2id("O=LINUXFOCUS.ORG"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_w( 1 )
entry_rdwr_wtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=linuxfocus.org" (found) (1 tries)
<= id2entry_w( 1 ) 0x80f6c28 (cache)
=> has_children( 1 )
=> ldbm_cache_open( "/var/lib/ldap/dn2id.gdbm", 34, 600 )
<= ldbm_cache_open (cache 0)
<= has_children( 1 ): no
dn2entry_w: dn: ""
=> dn2id( "" )
=> ldbm_cache_open( "/var/lib/ldap/dn2id.gdbm", 34, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
<=- ldbm_back_delete: parent does not exist

Who can point me the right way to delete the entry?

Thanks.