From: Kurt Zeilenga Date: Wed, 17 Jan 2001 02:33:46 +0000 (+0000) Subject: Update server cred handling X-Git-Tag: OPENLDAP_REL_ENG_2_0_8~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fba7f26216af4637ff9bc9a904880dfad285206d;p=thirdparty%2Fopenldap.git Update server cred handling --- diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c index 6d213f3da4..4eb6bf0ee4 100644 --- a/libraries/libldap/cyrus.c +++ b/libraries/libldap/cyrus.c @@ -563,7 +563,7 @@ ldap_int_sasl_bind( } if ( rc != LDAP_SUCCESS && rc != LDAP_SASL_BIND_IN_PROGRESS ) { - if( scred ) { + if( scred && scred->bv_len ) { /* and server provided us with data? */ Debug( LDAP_DEBUG_TRACE, "ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n", @@ -575,7 +575,7 @@ ldap_int_sasl_bind( if( rc == LDAP_SUCCESS && saslrc == SASL_OK ) { /* we're done, no need to step */ - if( scred ) { + if( scred && scred->bv_len ) { /* but server provided us with data! */ Debug( LDAP_DEBUG_TRACE, "ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n", @@ -661,9 +661,15 @@ ldap_int_sasl_external( ber_len_t ssf ) { int sc; - sasl_conn_t *ctx = ld->ld_defconn->lconn_sasl_ctx; + sasl_conn_t *ctx; sasl_external_properties_t extprops; - + + if( ld->ld_defconn == NULL ) { + return LDAP_LOCAL_ERROR; + } + + ctx = ld->ld_defconn->lconn_sasl_ctx; + if ( ctx == NULL ) { return LDAP_LOCAL_ERROR; }