From 51a2fd8e80e8f11580f981bf295a2a143d6c3ab2 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Fri, 4 Dec 2009 16:44:36 +0000 Subject: [PATCH] ITS#6412 --- CHANGES | 1 + servers/slapd/connection.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index ccc1af907a..5380475d8e 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,7 @@ OpenLDAP 2.4 Change Log OpenLDAP 2.4.21 Engineering Fixed liblutil for negative time offsets (ITS#6405) + Fixed slapd looping with SSL/TLS connections (ITS#6412) Fixed slapd use correct ce_type (ITS#6408) Fixed slapo-translucent with back-null (ITS#6403) Fixed slapo-unique conflict with ppolicy (ITS#6270) diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index 7f8331f532..66e49f1c4d 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -1362,8 +1362,8 @@ 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 ); + } else if ( rc == 1 && ber_sockbuf_ctrl( c->c_sb, + LBER_SB_OPT_NEEDS_WRITE, NULL )) { /* need to retry */ slapd_set_write( s, 1 ); connection_return( c ); return 0; -- 2.39.5