Commit 7aa67341 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Read on if data is ready after TLS

parent 65053828
......@@ -1164,14 +1164,13 @@ int connection_read(ber_socket_t s)
* to propagate to client. */
FD_ZERO(&rfd);
FD_SET(s, &rfd);
for (rc=1; rc>0;)
{
for (rc=1; rc>0;) {
tv.tv_sec = 1;
tv.tv_usec = 0;
rc = select(s+1, &rfd, NULL, NULL, &tv);
if (rc == 1)
ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_DRAIN,
NULL);
if (rc == 1) {
ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_DRAIN, NULL);
}
}
#endif
connection_close( c );
......@@ -1206,9 +1205,15 @@ int connection_read(ber_socket_t s)
slap_sasl_external( c, c->c_tls_ssf, authid.bv_val );
if ( authid.bv_val ) free( authid.bv_val );
}
connection_return( c );
ldap_pvt_thread_mutex_unlock( &connections_mutex );
return 0;
/* if success and data is ready, fall thru to data input loop */
if( rc != 0 ||
!ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_DATA_READY, NULL ) )
{
connection_return( c );
ldap_pvt_thread_mutex_unlock( &connections_mutex );
return 0;
}
}
#endif
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment