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

(ITS#3501) Segmentation fault slpad



Full_Name: Franck
Version: 2.2.0
OS: linux kernel 2.4.24
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (213.103.193.251)


Hello,
Doing this sequence crash the slapd server everytime.

/usr/lib/slapd -d 99
(switch console)
ldpadsearch
=>seg fault the server

If doing ldapserach -x
everything is fine.

Tell me if you need something more.
SASL is absolutly not well set up because
it is very obscure in doc/explanation. So maybe
the ldap server or ldapserachclient uses
something wrong. If this helps you avoid the
crash...

Bye

INFO::

SASL 2.1.15

GCC
gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checking --enable-long-long
--enable-__cxa_atexit --enable-languages=c,c++,ada,f77,objc,java,pascal
--host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)


SLAPD.CONF

# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/openldap.schema
pidfile         /var/run/slapd.pid
argsfile        /var/run/slapd.args
loglevel -1
#######################################################################
# BDB database definitions
#######################################################################
database        bdb
suffix          "dc=dhome,dc=fr"
rootdn          "cn=admin,dc=dhome,dc=fr"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw {SSHA}*****************************
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory       /data/Apps/openldap-data
# Indices to maintain
index   objectClass     eq



COMPILE configure:
./configure --prefix=/usr\
            --exec-prefix=/usr\
            --libexecdir=/usr/lib\
            --datadir=/usr/share\
            --sysconfdir=/etc\
            --sharedstatedir=/usr/share\
            --localstatedir=/var\
            --libdir=/usr/lib\
            --includedir=/usr/include\
            --infodir=/usr/info\
            --mandir=/usr/man\
            --enable-debug\
            --disable-ipv6\
            --enable-crypt\
            --enable-passwd\
            --enable-spasswd\
            --enable-syslogd\
            --enable-modules\
            --enable-ldap\
            --with-cyrus-sasl\
            --with-tls





SLAPD DEBUG TRACE

init is OK
 2.5.13.0 (objectIdentifierMatch): matchingRuleUse: ( 2.5.13.0 NAME
'objectIdentifierMatch' APPLIES ( supportedApplicationContext $
supportedFeatures $ supportedExtension $ supportedControl ) )
slapd startup: initiated.
backend_startup: starting "dc=dhome,dc=fr"
bdb_db_open: dbenv_open(/data/Apps/openldap-data)
slapd starting



ldap_pvt_gethostbyname_a: host=ntkiller2, r=0
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ldap_read: want=8, got=8
  0000:  30 3e 02 01 01 63 39 04                            0>...c9.
ldap_read: want=56, got=56
  0000:  00 0a 01 00 0a 01 00 02  01 00 02 01 00 01 01 00   ................
  0010:  87 0b 6f 62 6a 65 63 74  63 6c 61 73 73 30 19 04   ..objectclass0..
  0020:  17 73 75 70 70 6f 72 74  65 64 53 41 53 4c 4d 65   .supportedSASLMe
  0030:  63 68 61 6e 69 73 6d 73                            chanisms
ber_get_next: tag 0x30 len 62 contents:
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_search
ber_scanf fmt ({miiiib) ber:
>>> dnPrettyNormal: <>
<<< dnPrettyNormal: <>, <>
begin get_filter
PRESENT
ber_scanf fmt (m) ber:
end get_filter 0
ber_scanf fmt ({M}}) ber:
=> test_filter
    PRESENT
<= test_filter 6
=> send_search_entry: dn=""
ber_flush: 86 bytes to sd 14
  0000:  30 54 02 01 01 64 4f 04  00 30 4b 30 49 04 17 73   0T...dO..0K0I..s
  0010:  75 70 70 6f 72 74 65 64  53 41 53 4c 4d 65 63 68   upportedSASLMech
  0020:  61 6e 69 73 6d 73 31 2e  04 03 4f 54 50 04 04 4e   anisms1...OTP..N
  0030:  54 4c 4d 04 06 47 53 53  41 50 49 04 0a 44 49 47   TLM..GSSAPI..DIG
  0040:  45 53 54 2d 4d 44 35 04  08 43 52 41 4d 2d 4d 44   EST-MD5..CRAM-MD
  0050:  35 04 03 53 52 50                                  5..SRP
ldap_write: want=86, written=86
  0000:  30 54 02 01 01 64 4f 04  00 30 4b 30 49 04 17 73   0T...dO..0K0I..s
  0010:  75 70 70 6f 72 74 65 64  53 41 53 4c 4d 65 63 68   upportedSASLMech
  0020:  61 6e 69 73 6d 73 31 2e  04 03 4f 54 50 04 04 4e   anisms1...OTP..N
  0030:  54 4c 4d 04 06 47 53 53  41 50 49 04 0a 44 49 47   TLM..GSSAPI..DIG
  0040:  45 53 54 2d 4d 44 35 04  08 43 52 41 4d 2d 4d 44   EST-MD5..CRAM-MD
  0050:  35 04 03 53 52 50                                  5..SRP
<= send_search_entry
send_ldap_result: conn=0 op=0 p=3
send_ldap_response: msgid=1 tag=101 err=0
ber_flush: 14 bytes to sd 14
  0000:  30 0c 02 01 01 65 07 0a  01 00 04 00 04 00         0....e........
ldap_write: want=14, written=14
  0000:  30 0c 02 01 01 65 07 0a  01 00 04 00 04 00         0....e........
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ldap_read: want=8, got=8
  0000:  30 31 02 01 02 60 2c 02                            01...`,.
ldap_read: want=43, got=43
  0000:  01 03 04 00 a3 25 04 03  53 52 50 04 1e 00 00 00   .....%..SRP.....
  0010:  1a 00 0b 66 62 6f 75 72  64 6f 6e 6e 65 63 00 0b   ...fbourdonnec..
  0020:  66 62 6f 75 72 64 6f 6e  6e 65 63                  fbourdonnec
ber_get_next: tag 0x30 len 49 contents:
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt (}}) ber:
>>> dnPrettyNormal: <>
<<< dnPrettyNormal: <>, <>
do_sasl_bind: dn () mech SRP
=> ldap_dn2bv(16)
ldap_err2string
<= ldap_dn2bv(uid=fbourdonnec,cn=SRP,cn=auth)=0 Success
slap_sasl_getdn: u:id converted to uid=fbourdonnec,cn=SRP,cn=auth
>>> dnNormalize: <uid=fbourdonnec,cn=SRP,cn=auth>
=> ldap_bv2dn(uid=fbourdonnec,cn=SRP,cn=auth,0)
ldap_err2string
<= ldap_bv2dn(uid=fbourdonnec,cn=SRP,cn=auth)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(uid=fbourdonnec,cn=srp,cn=auth)=0 Success
<<< dnNormalize: <uid=fbourdonnec,cn=srp,cn=auth>
==>slap_sasl2dn: converting SASL name uid=fbourdonnec,cn=srp,cn=auth to a DN
slap_sasl_regexp: converting SASL name uid=fbourdonnec,cn=srp,cn=auth
<==slap_sasl2dn: Converted SASL name to <nothing>
Segmentation fault