More for prev commit. What about ldap_pvt_sasl_getmechs() ?

This commit is contained in:
Howard Chu 2010-10-14 01:47:09 +00:00
parent fca72f333b
commit 120d2ce228

View File

@ -451,20 +451,23 @@ ldap_sasl_interactive_bind(
#endif #endif
if( mechs == NULL || *mechs == '\0' ) { if( mechs == NULL || *mechs == '\0' ) {
/* FIXME: this needs to be asynchronous too;
* perhaps NULL should be disallowed for async usage?
*/
rc = ldap_pvt_sasl_getmechs( ld, &smechs ); rc = ldap_pvt_sasl_getmechs( ld, &smechs );
if( rc != LDAP_SUCCESS ) { if( rc != LDAP_SUCCESS ) {
goto done; goto done;
} }
Debug( LDAP_DEBUG_TRACE, Debug( LDAP_DEBUG_TRACE,
"ldap_sasl_interactive_bind_s: server supports: %s\n", "ldap_sasl_interactive_bind: server supports: %s\n",
smechs, 0, 0 ); smechs, 0, 0 );
mechs = smechs; mechs = smechs;
} else { } else {
Debug( LDAP_DEBUG_TRACE, Debug( LDAP_DEBUG_TRACE,
"ldap_sasl_interactive_bind_s: user selected: %s\n", "ldap_sasl_interactive_bind: user selected: %s\n",
mechs, 0, 0 ); mechs, 0, 0 );
} }
} }
@ -509,6 +512,8 @@ ldap_sasl_interactive_bind_s(
serverControls, clientControls, serverControls, clientControls,
flags, interact, defaults, result, &rmech, &msgid ); flags, interact, defaults, result, &rmech, &msgid );
ldap_msgfree( result );
if ( rc != LDAP_SASL_BIND_IN_PROGRESS ) if ( rc != LDAP_SASL_BIND_IN_PROGRESS )
break; break;