From: Howard Chu Date: Thu, 18 Apr 2002 00:48:36 +0000 (+0000) Subject: Additional error reporting for Cyrus SASL 2. Attempt to get SASL-EXTERNAL X-Git-Tag: OPENLDAP_REL_ENG_2_MP~174 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=98a416b584f3610074e526faf287efba0fe5756f;p=openldap Additional error reporting for Cyrus SASL 2. Attempt to get SASL-EXTERNAL working ifor Cyrus 2. (Both GSSAPI and EXTERNAL are broken at the moment.) --- diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c index d14e893c05..b411ad5cd8 100644 --- a/libraries/libldap/cyrus.c +++ b/libraries/libldap/cyrus.c @@ -619,6 +619,9 @@ ldap_int_sasl_bind( if ( (saslrc != SASL_OK) && (saslrc != SASL_CONTINUE) ) { ld->ld_errno = sasl_err2ldap( saslrc ); +#if SASL_VERSION_MAJOR >= 2 + ld->ld_error = sasl_errdetail( ctx ); +#endif return ld->ld_errno; } @@ -712,6 +715,9 @@ ldap_int_sasl_bind( if ( (saslrc != SASL_OK) && (saslrc != SASL_CONTINUE) ) { ld->ld_errno = sasl_err2ldap( saslrc ); +#if SASL_VERSION_MAJOR >= 2 + ld->ld_error = sasl_errdetail( ctx ); +#endif return ld->ld_errno; } } while ( rc == LDAP_SASL_BIND_IN_PROGRESS ); @@ -721,6 +727,9 @@ ldap_int_sasl_bind( } if ( saslrc != SASL_OK ) { +#if SASL_VERSION_MAJOR >= 2 + ld->ld_error = sasl_errdetail( ctx ); +#endif return ld->ld_errno = sasl_err2ldap( saslrc ); } @@ -779,6 +788,8 @@ ldap_int_sasl_external( #if SASL_VERSION_MAJOR >= 2 sc = sasl_setprop( ctx, SASL_SSF_EXTERNAL, &ssf ); + if ( sc == SASL_OK ) + sc = sasl_setprop( ctx, SASL_AUTH_EXTERNAL, authid ); #else memset( &extprops, '\0', sizeof(extprops) ); extprops.ssf = ssf;