From 98a416b584f3610074e526faf287efba0fe5756f Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 18 Apr 2002 00:48:36 +0000 Subject: [PATCH] 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.) --- libraries/libldap/cyrus.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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; -- 2.39.5