[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: sasl/db related runtime crash (ITS#1798)
At 06:08 PM 2002-05-04, kervin@blueprint-tech.com wrote:
>Full_Name: Kervin Pierre
>Version: CVS
>OS: rh7.2
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (65.186.68.157)
>
>
>This is a sasl error, but it causes a runtime crash in slapd, so I believe it's
>pertinent to the list.
Please report this to the Cyrus SASL folks. As this is not an
OpenLDAP error, this issue will be closed.
>I suspect the issue has to do with cyrus sasl 2 ( tested with 2.1.2 ) harded
>coded check for db3/db.h in its aclocal file before looking for db.h. It then,
>though, links against the most recent db library that it finds.
>
>Therefore it compiles against version 3 headers, but links against the most
>recent ( in my case version 4 ), if you have both installed.
>
>This is my guess, at least. Also, at that time /etc/sasldb2 does not exist.
>
>at any rate, this causes a segfault in berkeleydb_open() in
>'cyrus-sasl-2.1.2/sasldb/db_berkeley.c' taking slapd with it...
>
>...
>#else /* DB_VERSION_MAJOR < 3 */
> ret = db_create(mbdb, NULL, 0);
> if (ret == 0 && *mbdb != NULL)
> {
> ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660);
>...
>
>Segfault is at the open()
>
>The end result is that ldapsearch reliabley crashes slapd if I don't use '-x'
>flag.
>
>(gdb) bt f
>#0 0x00000000 in ?? ()
>No symbol table info available.
>#1 0x403bbdb4 in berkeleydb_open (utils=0x8200290, conn=0x81ff600, rdwr=0,
>mbdb=0x40902e70) at db_berkeley.c:92
> path = 0x403bc880 "/etc/sasldb2"
> ret = 0
> cntxt = (void *) 0x81ff600
> getopt = (sasl_getopt_t *) 0x401252d0 <_sasl_conn_getopt>
> path = 0x403bc880 "/etc/sasldb2"
> cntxt = (void *) 0x81ff600
> getopt = (sasl_getopt_t *) 0x401252d0 <_sasl_conn_getopt>
>#2 0x403bbf4a in _sasldb_getdata (utils=0x8200290, context=0x81ff600,
>auth_identity=0x8201800 "kervin",
> realm=0x82017f0 "bashful", propName=0x40022377 "userPassword",
>out=0x40902f0c "", max_out=8192, out_len=0x40902f00)
> at db_berkeley.c:173
> result = 0
> key = 0x8201810 "kervin"
> key_len = 27
> dbkey = {data = 0x40902f04, size = 0, ulen = 1083190996, dlen =
>1077653269, doff = 136315536, flags = 136320992}
> data = {data = 0x8201800, size = 136320992, ulen = 1083190948, dlen =
>1076703272, doff = 0, flags = 0}
> mbdb = (DB *) 0x8201830
> key = 0x8201810 "kervin"
> key_len = 27
> dbkey = {data = 0x40902f04, size = 0, ulen = 1083190996, dlen =
>1077653269, doff = 136315536, flags = 136320992}
> data = {data = 0x8201800, size = 136320992, ulen = 1083190948, dlen =
>1076703272, doff = 0, flags = 0}
> mbdb = (DB *) 0x8201830
>...
>...
>
>--Kervin