From 70471b9d3d433e7b23013731296aa667e12bb83f Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Thu, 6 Jan 2011 19:47:32 +0000 Subject: [PATCH] ITS#6759 --- CHANGES | 1 + libraries/librewrite/context.c | 2 +- servers/slapd/back-bdb/tools.c | 5 ++--- servers/slapd/back-ldap/extended.c | 5 ++--- servers/slapd/connection.c | 5 ++--- servers/slapd/result.c | 22 ++++++++-------------- 6 files changed, 16 insertions(+), 24 deletions(-) diff --git a/CHANGES b/CHANGES index 7c25ecd22a..b5f22e132d 100644 --- a/CHANGES +++ b/CHANGES @@ -38,6 +38,7 @@ OpenLDAP 2.4.24 Engineering Fixed ldapsearch multiple controls parsing (ITS#6651) Fixed slapd acl parsing overflow (ITS#6611) Fixed slapd assert control (ITS#5862) + Fixed slapd assertions and debugging (ITS#6759) Fixed slapd support for BDB 5.0+ (ITS#6698) Fixed slapd config leak with olcDbDirectory (ITS#6634) Fixed slapd connectionless warnings (ITS#6747) diff --git a/libraries/librewrite/context.c b/libraries/librewrite/context.c index 67704eb3e4..9348df8e16 100644 --- a/libraries/librewrite/context.c +++ b/libraries/librewrite/context.c @@ -215,11 +215,11 @@ rewrite_context_apply( assert( result != NULL ); op->lo_depth++; - assert( op->lo_depth > 0 ); Debug( LDAP_DEBUG_TRACE, "==> rewrite_context_apply" " [depth=%d] string='%s'\n", op->lo_depth, string, 0 ); + assert( op->lo_depth > 0 ); s = (char *)string; diff --git a/servers/slapd/back-bdb/tools.c b/servers/slapd/back-bdb/tools.c index a8f13ce1d4..f5d104567b 100644 --- a/servers/slapd/back-bdb/tools.c +++ b/servers/slapd/back-bdb/tools.c @@ -718,12 +718,11 @@ int bdb_tool_entry_reindex( Operation op = {0}; Opheader ohdr = {0}; - assert( tool_base == NULL ); - assert( tool_filter == NULL ); - Debug( LDAP_DEBUG_ARGS, "=> " LDAP_XSTRING(bdb_tool_entry_reindex) "( %ld )\n", (long) id, 0, 0 ); + assert( tool_base == NULL ); + assert( tool_filter == NULL ); /* No indexes configured, nothing to do. Could return an * error here to shortcut things. diff --git a/servers/slapd/back-ldap/extended.c b/servers/slapd/back-ldap/extended.c index 13308a6a9c..e1402c3bb1 100644 --- a/servers/slapd/back-ldap/extended.c +++ b/servers/slapd/back-ldap/extended.c @@ -305,11 +305,10 @@ ldap_back_exop_generic( int do_retry = 1; char *text = NULL; - assert( lc != NULL ); - assert( rs->sr_ctrls == NULL ); - Debug( LDAP_DEBUG_ARGS, "==> ldap_back_exop_generic(%s, \"%s\")\n", op->ore_reqoid.bv_val, op->o_req_dn.bv_val, 0 ); + assert( lc != NULL ); + assert( rs->sr_ctrls == NULL ); retry: rc = ldap_extended_operation( lc->lc_ld, diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index a7aff7a40e..79d99003af 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -276,12 +276,11 @@ static Connection* connection_get( ber_socket_t s ) if( c->c_struct_state != SLAP_C_USED ) { /* connection must have been closed due to resched */ - assert( c->c_conn_state == SLAP_C_INVALID ); - assert( c->c_sd == AC_SOCKET_INVALID ); - Debug( LDAP_DEBUG_CONNS, "connection_get(%d): connection not used\n", s, 0, 0 ); + assert( c->c_conn_state == SLAP_C_INVALID ); + assert( c->c_sd == AC_SOCKET_INVALID ); ldap_pvt_thread_mutex_unlock( &c->c_mutex ); return NULL; diff --git a/servers/slapd/result.c b/servers/slapd/result.c index 13a04cd89b..421fdbc1af 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -657,15 +657,14 @@ send_ldap_disconnect( Operation *op, SlapReply *rs ) || (e) == LDAP_STRONG_AUTH_REQUIRED \ || (e) == LDAP_UNAVAILABLE ) + Debug( LDAP_DEBUG_TRACE, + "send_ldap_disconnect %d:%s\n", + rs->sr_err, rs->sr_text ? rs->sr_text : "", NULL ); assert( LDAP_UNSOLICITED_ERROR( rs->sr_err ) ); rs->sr_type = REP_EXTENDED; rs->sr_rspdata = NULL; - Debug( LDAP_DEBUG_TRACE, - "send_ldap_disconnect %d:%s\n", - rs->sr_err, rs->sr_text ? rs->sr_text : "", NULL ); - if ( op->o_protocol < LDAP_VERSION3 ) { rs->sr_rspoid = NULL; rs->sr_tag = slap_req2res( op->o_tag ); @@ -698,25 +697,20 @@ slap_send_ldap_result( Operation *op, SlapReply *rs ) if ( rs->sr_err == SLAPD_ABANDON || op->o_abandon ) goto abandon; - assert( !LDAP_API_ERROR( rs->sr_err ) ); - Debug( LDAP_DEBUG_TRACE, "send_ldap_result: %s p=%d\n", op->o_log_prefix, op->o_protocol, 0 ); - Debug( LDAP_DEBUG_ARGS, "send_ldap_result: err=%d matched=\"%s\" text=\"%s\"\n", rs->sr_err, rs->sr_matched ? rs->sr_matched : "", rs->sr_text ? rs->sr_text : "" ); - - if( rs->sr_ref ) { Debug( LDAP_DEBUG_ARGS, "send_ldap_result: referral=\"%s\"\n", rs->sr_ref[0].bv_val ? rs->sr_ref[0].bv_val : "NULL", NULL, NULL ); } - + assert( !LDAP_API_ERROR( rs->sr_err ) ); assert( rs->sr_err != LDAP_PARTIAL_RESULTS ); if ( rs->sr_err == LDAP_REFERRAL ) { @@ -769,11 +763,11 @@ abandon: void send_ldap_sasl( Operation *op, SlapReply *rs ) { - rs->sr_type = REP_SASL; Debug( LDAP_DEBUG_TRACE, "send_ldap_sasl: err=%d len=%ld\n", rs->sr_err, rs->sr_sasldata ? (long) rs->sr_sasldata->bv_len : -1, NULL ); + rs->sr_type = REP_SASL; rs->sr_tag = slap_req2res( op->o_tag ); rs->sr_msgid = (rs->sr_tag != LBER_SEQUENCE) ? op->o_msgid : 0; @@ -788,14 +782,13 @@ send_ldap_sasl( Operation *op, SlapReply *rs ) void slap_send_ldap_extended( Operation *op, SlapReply *rs ) { - rs->sr_type = REP_EXTENDED; - Debug( LDAP_DEBUG_TRACE, "send_ldap_extended: err=%d oid=%s len=%ld\n", rs->sr_err, rs->sr_rspoid ? rs->sr_rspoid : "", rs->sr_rspdata != NULL ? rs->sr_rspdata->bv_len : 0 ); + rs->sr_type = REP_EXTENDED; rs->sr_tag = slap_req2res( op->o_tag ); rs->sr_msgid = (rs->sr_tag != LBER_SEQUENCE) ? op->o_msgid : 0; @@ -810,12 +803,13 @@ slap_send_ldap_extended( Operation *op, SlapReply *rs ) void slap_send_ldap_intermediate( Operation *op, SlapReply *rs ) { - rs->sr_type = REP_INTERMEDIATE; Debug( LDAP_DEBUG_TRACE, "send_ldap_intermediate: err=%d oid=%s len=%ld\n", rs->sr_err, rs->sr_rspoid ? rs->sr_rspoid : "", rs->sr_rspdata != NULL ? rs->sr_rspdata->bv_len : 0 ); + + rs->sr_type = REP_INTERMEDIATE; rs->sr_tag = LDAP_RES_INTERMEDIATE; rs->sr_msgid = op->o_msgid; if ( send_ldap_response( op, rs ) == SLAP_CB_CONTINUE ) { -- 2.39.5