Return more appropriate result codes than LDAP_UNAVAILABLE

upon failures.
This commit is contained in:
Kurt Zeilenga 2000-10-09 22:11:34 +00:00
parent a3dc67b814
commit b7b9148c7f
2 changed files with 11 additions and 8 deletions

View File

@ -404,7 +404,7 @@ ldap_int_sasl_open(
assert( lc->lconn_sasl_ctx == NULL );
if ( host == NULL ) {
ld->ld_errno = LDAP_UNAVAILABLE;
ld->ld_errno = LDAP_LOCAL_ERROR;
return ld->ld_errno;
}
@ -483,13 +483,15 @@ ldap_int_sasl_bind(
if ( sd == AC_SOCKET_INVALID ) {
/* not connected yet */
int rc = ldap_open_defconn( ld );
int rc;
rc = ldap_open_defconn( ld );
if( rc < 0 ) return ld->ld_errno;
ber_sockbuf_ctrl( ld->ld_sb, LBER_SB_OPT_GET_FD, &sd );
if( sd == AC_SOCKET_INVALID ) {
ld->ld_errno = LDAP_UNAVAILABLE;
ld->ld_errno = LDAP_LOCAL_ERROR;
return ld->ld_errno;
}
}
@ -497,7 +499,7 @@ ldap_int_sasl_bind(
ctx = ld->ld_defconn->lconn_sasl_ctx;
if( ctx == NULL ) {
ld->ld_errno = LDAP_UNAVAILABLE;
ld->ld_errno = LDAP_LOCAL_ERROR;
return ld->ld_errno;
}

View File

@ -366,24 +366,25 @@ ldap_pvt_sasl_getmechs ( LDAP *ld, char **pmechlist )
e = ldap_first_entry( ld, res );
if ( e == NULL ) {
ldap_msgfree( res );
if ( ld->ld_errno == LDAP_SUCCESS ) {
ld->ld_errno = LDAP_UNAVAILABLE;
ld->ld_errno = LDAP_NO_SUCH_OBJECT;
}
return ld->ld_errno;
}
values = ldap_get_values( ld, e, "supportedSASLMechanisms" );
if ( values == NULL ) {
ld->ld_errno = LDAP_NO_SUCH_ATTRIBUTE;
ldap_msgfree( res );
ld->ld_errno = LDAP_NO_SUCH_ATTRIBUTE;
return ld->ld_errno;
}
mechlist = ldap_charray2str( values, " " );
if ( mechlist == NULL ) {
ld->ld_errno = LDAP_NO_MEMORY;
LDAP_VFREE( values );
ldap_msgfree( res );
ld->ld_errno = LDAP_NO_MEMORY;
return ld->ld_errno;
}