[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: (ITS#8167) The new non-blocking TLS connect does not work in a reference/referral



Since it seems I can't send the patch file as an attachment, here it is inl=
ine instead:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Start patch file =3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
--- openldap-2.4.40/libraries/libldap/tls2.c	2014-09-18 18:48:50.000000000 =
-0700
+++ openldap-2.4.40-new/libraries/libldap/tls2.c	2015-06-08 19:40:30.326927=
300 -0700
@@ -842,7 +842,7 @@
 	 * Use non-blocking io during SSL Handshake when a timeout is configured
 	 */
 	if ( ld->ld_options.ldo_tm_net.tv_sec >=3D 0 ) {
-		ber_sockbuf_ctrl( ld->ld_sb, LBER_SB_OPT_SET_NONBLOCK, sb );
+		ber_sockbuf_ctrl( sb, LBER_SB_OPT_SET_NONBLOCK, (void*)1 );
 		ber_sockbuf_ctrl( sb, LBER_SB_OPT_GET_FD, &sd );
 		tv =3D ld->ld_options.ldo_tm_net;
 		tv0 =3D tv;
@@ -877,7 +877,7 @@
 			break;
 		} else {
 			/* ldap_int_poll called ldap_pvt_ndelay_off */
-			ber_sockbuf_ctrl( ld->ld_sb, LBER_SB_OPT_SET_NONBLOCK, sb );
+			ber_sockbuf_ctrl( sb, LBER_SB_OPT_SET_NONBLOCK, (void*)1 );
 			ret =3D ldap_int_tls_connect( ld, conn );
 			if ( ret > 0 ) { /* need to call tls_connect once more */
 				struct timeval curr_time_tv, delta_tv;
@@ -925,7 +925,7 @@
 		}
 	}
 	if ( ld->ld_options.ldo_tm_net.tv_sec >=3D 0 ) {
-		ber_sockbuf_ctrl( ld->ld_sb, LBER_SB_OPT_SET_NONBLOCK, NULL );
+		ber_sockbuf_ctrl( sb, LBER_SB_OPT_SET_NONBLOCK, NULL );
 	}
 #endif /* LDAP_USE_NON_BLOCKING_TLS */
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D End patch file =3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D