From fba7f26216af4637ff9bc9a904880dfad285206d Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Wed, 17 Jan 2001 02:33:46 +0000 Subject: [PATCH] Update server cred handling --- libraries/libldap/cyrus.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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; } -- 2.47.2