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

(ITS#4464) LDAP server crashed on modify



Full_Name: Claudio Cuqui
Version: 2.3.20
OS: FC5 64bits
URL: 
Submission from: (NULL) (200.161.147.67)


Hi,

We are facing a reproducable bug(?)/error when trying to modify a inexistent
record in openldap.

We just create a ldif file as below:

dn: uid=nonexistent@c3systems.com.br,ou=c3systems.com.br,o=C3
changetype: modify
replace: userpassword
userpassword: anypassword
-

and run ldapmodify passing it as input file as below:

[root@c3vm cuqui]# ldapmodify -x -D "cn=Admin,o=C3" -W -f ./teste.ldif
Enter LDAP Password:
modifying entry "uid=nonexistent@c3systems.com.br,ou=c3systems.com.br,o=C3"

After that, ldapserver crashed. We tried dozen of times with same results in all
tests.

We run this test in FC5 64 bits and SuSE ES 9 64bits. Same results in both.

Openldap was compiled in FC5 64bits and SuSE ES 9 64bits. We are linking it with
berkeleydb 4.4.20 (we had downloaded source and compiled it. Same with openldap.


Only uid (uid=nonexistent@c3systems.com.br) doesn't exists. ou=c3systems.com.br
and o=C3 both exists and have lots of records below them.

Openldap was compiled with options below:

configured by ./configure, generated by GNU Autoconf 2.59,
  with options \"'--prefix=/C3Systems/ldap_servers/openldap/bin-2.4.20'
'--with-tls' '--enable-crypt' '--enable-rewrite' '--enable-dnssrv'
'--enable-ldap' '--enable-ldbm' '--with-ldbm-berkeley' '--enable-meta'
'--enable-monitor' '--enable-null' '--enable-passwd' '--enable-shell'
'--enable-local' '--enable-bdb' '--enable-dyngroup' '--enable-proxycache'
'--enable-slurpd' 'CPPFLAGS=-I/C3Systems/openssl/bin/include
-I/C3Systems/dbms/berkeleydb/bin-4.4.20/include'
'LDFLAGS=-L/C3Systems/openssl/bin/lib/
-L/C3Systems/dbms/berkeleydb/bin-4.4.20/lib'\"

Berkeleydb was compiled with options below:

--prefix=/C3Systems/dbms/berkeley/bin-4.4.20

Relevant options in slapd.conf:

schemacheck     on
allow           bind_v2
database        ldbm
suffix          "o=C3"
rootdn          "cn=Admin,o=C3"

When running ldapserver with debug we got the results below (last lines of debug
only)

<<< dnNormalize: <cn=admin,o=c3>
<= str2entry(ou=c3systems.com.br,o=C3) -> 0x77de50
<= id2entry_r( 2 ) 0x77de50 (disk)
ldbm_referrals: op=102
target="uid=nonexistent@c3systems.com.br,ou=c3systems.com.br,o=C3"
matched="ou=c3systems.com.br,o=C3"
====> cache_return_entry_r( 2 ): created (0)
ldbm_back_modify:
dn2entry_w: dn: "uid=nonexistent@c3systems.com.br,ou=c3systems.com.br,o=c3"
=> dn2id( "uid=nonexistent@c3systems.com.br,ou=c3systems.com.br,o=c3" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "ou=c3systems.com.br,o=c3"
=> dn2id( "ou=c3systems.com.br,o=c3" )
====> cache_find_entry_ndn2id("ou=c3systems.com.br,o=c3"): 2 (1 tries)
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
====> cache_find_entry_id( 2 ) "ou=c3systems.com.br,o=C3" (found) (1 tries)
<= id2entry_r( 2 ) 0x77de50 (cache)
====> cache_return_entry_r( 2 ): returned (0)
Segmentation fault


This is REALLY causing serios problems to us. Any help will be VERY
appreciated.
Please, let me know if you need any further information

TIA,

Claudio Cuqui