ITS#6304 retry if tls_accept() returns 1

This commit is contained in:
Howard Chu 2009-11-15 22:39:35 +00:00
parent b99fdb6506
commit 99381a43e1

View File

@ -1380,6 +1380,11 @@ connection_read( ber_socket_t s, conn_readinfo *cri )
c->c_connid, (int) s, c->c_tls_ssf, c->c_ssf, 0 );
slap_sasl_external( c, c->c_tls_ssf, &authid );
if ( authid.bv_val ) free( authid.bv_val );
} else if ( rc == 1 ) { /* need to retry */
slapd_set_read( s, 0 );
slapd_set_write( s, 1 );
connection_return( c );
return 0;
}
/* if success and data is ready, fall thru to data input loop */
@ -1879,6 +1884,14 @@ int connection_write(ber_socket_t s)
return -1;
}
#ifdef HAVE_TLS
if ( c->c_is_tls && c->c_needs_tls_accept ) {
connection_return( c );
connection_read_activate( s );
return 0;
}
#endif
c->c_n_write++;
Debug( LDAP_DEBUG_TRACE,