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

ldapsearch core dump with 2.0.7 on Solaris 2.6



>From libraries/libldap/cyrus.c:

int
ldap_int_sasl_external(
        LDAP *ld,
        const char * authid,
        ber_len_t ssf )
{
        int sc;
        sasl_conn_t *ctx = ld->ld_defconn->lconn_sasl_ctx;
        sasl_external_properties_t extprops;
    
        if ( ctx == NULL ) {
                return LDAP_LOCAL_ERROR;
        }

I'm trying to get RAND_egd() working correctly
(libraries/libldap/tls.c has a bug). In the process of doing this, I
get a coredump when running ldapsearch in ldap_int_sasl_external. It
seems ld->ld_defconn is NULL. Is that bad? Where is ld_defconn suppose
to be set?

I am testing on Solaris 2.6/SPARC and have slapd configured with:
  TLSCertificateFile /tmp/ldap/crt
  TLSCertificateKeyFile /tmp/ldap/key
  TLSRandFile /etc/prngd-pool
  allow tls_2_anon

(I'm submitting a patch soon to allow the path passed to RAND_egd to
be set from the slapd.conf file -- that's what TLSRandFile is for).
The certificate files used for TLSCertificateFile and
TLSCertificateKeyFile are copied from the web server (just something
to get me going). Anyway, slapd starts up and reads the path
EGD/PRNGD are listening on fine. It even answers ldap:// requests (I
have nothing in the LDAP database so it returns a failure). I'm
running ldapsearch as:
  RANDFILE=<blah> ldapsearch -x -H ldaps://localhost
  -b 'ou=<blah>,dc=<blah>,dc=com' -D "cn=Manager,dc=<blah>,dc=com"
  '(uid=test)'

-- 
albert chin (china@thewrittenword.com)