ITS#10363 Removed unused arguments and unused code in asyncmeta_getconn and asyncmeta_clear_one_msc

This commit is contained in:
Nadezhda Ivanova 2025-06-24 16:39:43 +03:00 committed by Quanah Gibson-Mount
parent 4fbdbf388b
commit d1848e54ae
11 changed files with 42 additions and 99 deletions

View file

@ -271,7 +271,7 @@ asyncmeta_back_add( Operation *op, SlapReply *rs )
}
candidates = bc->candidates;
mc = asyncmeta_getconn( op, rs, candidates, &candidate, LDAP_BACK_DONTSEND, 0);
mc = asyncmeta_getconn( op, rs, candidates, &candidate, 0);
if ( !mc || rs->sr_err != LDAP_SUCCESS) {
send_ldap_result(op, rs);
return rs->sr_err;

View file

@ -482,7 +482,6 @@ asyncmeta_getconn(
SlapReply *rs,
SlapReply *candidates,
int *candidate,
ldap_back_send_t sendok,
int alloc_new);
@ -493,7 +492,6 @@ asyncmeta_init_one_conn(
a_metaconn_t *mc,
int candidate,
int ispriv,
ldap_back_send_t sendok,
int dolock );
extern void
@ -633,11 +631,9 @@ int asyncmeta_back_cleanup( Operation *op, SlapReply *rs, bm_context_t *bm );
int
asyncmeta_clear_one_msc(
Operation *op,
a_metaconn_t *msc,
int candidate,
int unbind,
const char * caller);
a_metatarget_t *mt,
a_metasingleconn_t *msc,
const char *caller);
a_metaconn_t *
asyncmeta_get_next_mc( a_metainfo_t *mi );

View file

@ -104,7 +104,7 @@ asyncmeta_back_bind( Operation *op, SlapReply *rs )
/* we need asyncmeta_getconn() not send result even on error,
* because we want to intercept the error and make it
* invalidCredentials */
mc = asyncmeta_getconn( op, rs, candidates, NULL, LDAP_BACK_BIND_DONTSEND, 1 );
mc = asyncmeta_getconn( op, rs, candidates, NULL, 1 );
if ( !mc ) {
Debug(LDAP_DEBUG_ANY,
"%s asyncmeta_back_bind: no target " "for dn \"%s\" (%d%s%s).\n",
@ -1489,7 +1489,7 @@ asyncmeta_dobind_init(Operation *op, SlapReply *rs, bm_context_t *bc, a_metaconn
op->o_log_prefix, candidate, (void *)mc );
rc = asyncmeta_init_one_conn( op, rs, mc, candidate,
LDAP_BACK_CONN_ISPRIV( mc ), LDAP_BACK_DONTSEND, 0 );
LDAP_BACK_CONN_ISPRIV( mc ), 0 );
switch ( rc ) {
case LDAP_SUCCESS:
@ -1698,7 +1698,7 @@ asyncmeta_dobind_init_with_retry(Operation *op, SlapReply *rs, bm_context_t *bc,
asyncmeta_reset_msc(NULL, mc, candidate, 0, buf);
rc = asyncmeta_init_one_conn( op, rs, mc, candidate,
LDAP_BACK_CONN_ISPRIV( mc ), LDAP_BACK_DONTSEND, 0 );
LDAP_BACK_CONN_ISPRIV( mc ), 0 );
ldap_pvt_thread_mutex_unlock( &mc->mc_om_mutex );
}
@ -1740,7 +1740,7 @@ retry_dobind:
asyncmeta_reset_msc(NULL, mc, candidate, 0, __FUNCTION__);
rc = asyncmeta_init_one_conn( op, rs, mc, candidate,
LDAP_BACK_CONN_ISPRIV( mc ), LDAP_BACK_DONTSEND, 0 );
LDAP_BACK_CONN_ISPRIV( mc ), 0 );
if (rs->sr_err != LDAP_SUCCESS) {
asyncmeta_reset_msc(NULL, mc, candidate, 0, __FUNCTION__);

View file

@ -213,7 +213,7 @@ asyncmeta_back_compare( Operation *op, SlapReply *rs )
}
candidates = bc->candidates;
mc = asyncmeta_getconn( op, rs, candidates, &candidate, LDAP_BACK_DONTSEND, 0);
mc = asyncmeta_getconn( op, rs, candidates, &candidate, 0);
if ( !mc || rs->sr_err != LDAP_SUCCESS) {
send_ldap_result(op, rs);
return rs->sr_err;

View file

@ -71,7 +71,6 @@ asyncmeta_init_one_conn(
a_metaconn_t *mc,
int candidate,
int ispriv,
ldap_back_send_t sendok,
int dolock)
{
a_metainfo_t *mi = mc->mc_info;
@ -80,7 +79,6 @@ asyncmeta_init_one_conn(
int version;
a_dncookie dc;
int isauthz = ( candidate == mc->mc_authz_target );
int do_return = 0;
#ifdef HAVE_TLS
int is_ldaps = 0;
int do_start_tls = 0;
@ -119,9 +117,6 @@ asyncmeta_init_one_conn(
rs->sr_text = "Target is quarantined";
Debug( LDAP_DEBUG_ANY, "%s asyncmeta_init_one_conn: Target is quarantined\n",
op->o_log_prefix );
if ( op->o_conn && ( sendok & LDAP_BACK_SENDERR ) ) {
send_ldap_result( op, rs );
}
return rs->sr_err;
}
}
@ -134,18 +129,18 @@ asyncmeta_init_one_conn(
{
assert( msc->msc_ld != NULL );
rs->sr_err = LDAP_SUCCESS;
do_return = 1;
return rs->sr_err;
} else if ( META_BACK_CONN_CREATING( msc )
|| LDAP_BACK_CONN_BINDING( msc ) )
{
rs->sr_err = LDAP_SUCCESS;
do_return = 1;
return rs->sr_err;
} else if ( META_BACK_CONN_INITED( msc ) ) {
assert( msc->msc_ld != NULL );
rs->sr_err = LDAP_SUCCESS;
do_return = 1;
return rs->sr_err;
} else {
/*
@ -154,17 +149,6 @@ asyncmeta_init_one_conn(
META_BACK_CONN_CREATING_SET( msc );
}
if ( do_return ) {
if ( rs->sr_err != LDAP_SUCCESS
&& op->o_conn
&& ( sendok & LDAP_BACK_SENDERR ) )
{
send_ldap_result( op, rs );
}
return rs->sr_err;
}
assert( msc->msc_ld == NULL );
/*
@ -358,7 +342,7 @@ retry:;
#endif /* DEBUG_205 */
/* need to trash a failed Start TLS */
asyncmeta_clear_one_msc( op, mc, candidate, 1, __FUNCTION__ );
asyncmeta_clear_one_msc( mt, msc, __FUNCTION__ );
goto error_return;
}
}
@ -439,9 +423,6 @@ error_return:;
if ( rs->sr_err != LDAP_SUCCESS ) {
rs->sr_err = slap_map_api2result( rs );
if ( sendok & LDAP_BACK_SENDERR ) {
send_ldap_result( op, rs );
}
}
return rs->sr_err;
}
@ -516,7 +497,6 @@ asyncmeta_getconn(
SlapReply *rs,
SlapReply *candidates,
int *candidate,
ldap_back_send_t sendok,
int alloc_new)
{
a_metainfo_t *mi = ( a_metainfo_t * )op->o_bd->be_private;
@ -632,9 +612,9 @@ asyncmeta_getconn(
*/
candidates[ i ].sr_err = asyncmeta_init_one_conn( op,
rs, mc, i, LDAP_BACK_CONN_ISPRIV( &mc_curr ),
LDAP_BACK_DONTSEND, !new_conn );
!new_conn );
if ( candidates[ i ].sr_err == LDAP_SUCCESS ) {
if ( new_conn && ( sendok & LDAP_BACK_BINDING ) ) {
if ( new_conn ) {
LDAP_BACK_CONN_BINDING_SET( &mc->mc_conns[ i ] );
}
META_CANDIDATE_SET( &candidates[ i ] );
@ -657,13 +637,6 @@ asyncmeta_getconn(
rs->sr_err = LDAP_NO_SUCH_OBJECT;
rs->sr_text = "Unable to select valid candidates";
if ( sendok & LDAP_BACK_SENDERR ) {
if ( rs->sr_err == LDAP_NO_SUCH_OBJECT ) {
rs->sr_matched = mi->mi_suffix.bv_val;
}
send_ldap_result( op, rs );
rs->sr_matched = NULL;
}
ldap_pvt_thread_mutex_unlock(&mc->mc_om_mutex);
if ( alloc_new > 0) {
asyncmeta_back_conn_free( mc );
@ -700,13 +673,6 @@ asyncmeta_getconn(
}
if ( i < 0 || rs->sr_err != LDAP_SUCCESS ) {
if ( sendok & LDAP_BACK_SENDERR ) {
if ( rs->sr_err == LDAP_NO_SUCH_OBJECT ) {
rs->sr_matched = mi->mi_suffix.bv_val;
}
send_ldap_result( op, rs );
rs->sr_matched = NULL;
}
ldap_pvt_thread_mutex_unlock(&mc->mc_om_mutex);
if ( mc != NULL && alloc_new ) {
asyncmeta_back_conn_free( mc );
@ -719,9 +685,6 @@ asyncmeta_getconn(
{
rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
rs->sr_text = "Cross-target rename not supported";
if ( sendok & LDAP_BACK_SENDERR ) {
send_ldap_result( op, rs );
}
ldap_pvt_thread_mutex_unlock(&mc->mc_om_mutex);
if ( mc != NULL && alloc_new > 0 ) {
asyncmeta_back_conn_free( mc );
@ -750,7 +713,7 @@ asyncmeta_getconn(
* sends the appropriate result.
*/
err = asyncmeta_init_one_conn( op, rs, mc, i,
LDAP_BACK_CONN_ISPRIV( &mc_curr ), sendok, !new_conn );
LDAP_BACK_CONN_ISPRIV( &mc_curr ), !new_conn );
if ( err != LDAP_SUCCESS ) {
/*
* FIXME: in case one target cannot
@ -800,7 +763,7 @@ asyncmeta_getconn(
*/
int lerr = asyncmeta_init_one_conn( op, rs, mc, i,
LDAP_BACK_CONN_ISPRIV( &mc_curr ),
LDAP_BACK_DONTSEND, !new_conn );
!new_conn );
candidates[ i ].sr_err = lerr;
if ( lerr == LDAP_SUCCESS ) {
META_CANDIDATE_SET( &candidates[ i ] );
@ -836,9 +799,6 @@ asyncmeta_getconn(
}
if ( META_BACK_ONERR_STOP( mi ) ) {
if ( sendok & LDAP_BACK_SENDERR ) {
send_ldap_result( op, rs );
}
ldap_pvt_thread_mutex_unlock(&mc->mc_om_mutex);
if ( alloc_new > 0 ) {
asyncmeta_back_conn_free( mc );
@ -859,13 +819,6 @@ asyncmeta_getconn(
rs->sr_text = "Unable to select valid candidates";
}
if ( sendok & LDAP_BACK_SENDERR ) {
if ( rs->sr_err == LDAP_NO_SUCH_OBJECT ) {
rs->sr_matched = mi->mi_suffix.bv_val;
}
send_ldap_result( op, rs );
rs->sr_matched = NULL;
}
if ( alloc_new > 0 ) {
asyncmeta_back_conn_free( mc );
@ -902,9 +855,6 @@ done:;
rs->sr_err = LDAP_OTHER;
rs->sr_text = "Proxy bind collision";
if ( sendok & LDAP_BACK_SENDERR ) {
send_ldap_result( op, rs );
}
return NULL;
}
}
@ -1058,24 +1008,26 @@ int asyncmeta_start_one_listener(a_metaconn_t *mc,
int
asyncmeta_clear_one_msc(
Operation *op,
a_metaconn_t *mc,
int candidate,
int unbind,
a_metatarget_t *mt,
a_metasingleconn_t *msc,
const char *caller)
{
a_metasingleconn_t *msc;
if (mc == NULL) {
if (msc == NULL ) {
return 0;
}
msc = &mc->mc_conns[candidate];
if ( LogTest( asyncmeta_debug ) ) {
char time_buf[ SLAP_TEXT_BUFLEN ];
asyncmeta_get_timestamp(time_buf);
Debug( asyncmeta_debug, "[%s] Resetting msc: %p, msc_ld: %p, "
"msc_bound_ndn: %s, msc->conn: %p, %s \n",
time_buf, msc, msc->msc_ld, msc->msc_bound_ndn.bv_val,
msc->conn, caller ? caller : "" );
if ( LogTest( asyncmeta_debug ) && !slapd_shutdown ) {
if (( msc->msc_ld != NULL ) || ( msc->conn )
|| !BER_BVISNULL( &msc->msc_bound_ndn )
|| !BER_BVISNULL( &msc->msc_cred ) ) {
char time_buf[ SLAP_TEXT_BUFLEN ];
asyncmeta_get_timestamp(time_buf);
Debug( asyncmeta_debug, "[%s] Resetting msc: %p, msc_ld: %p, "
"msc_bound_ndn: %s, msc->conn: %p, %s \n",
time_buf, msc, msc->msc_ld, msc->msc_bound_ndn.bv_val,
msc->conn, caller ? caller : "" );
}
}
msc->msc_mscflags = 0;
if (msc->conn) {
@ -1084,12 +1036,6 @@ asyncmeta_clear_one_msc(
}
if ( msc->msc_ld != NULL ) {
#ifdef DEBUG_205
Debug( LDAP_DEBUG_ANY, "### %s asyncmeta_clear_one_msc ldap_unbind_ext[%d] ld=%p\n",
op ? op->o_log_prefix : "", candidate, (void *)msc->msc_ld );
#endif /* DEBUG_205 */
ldap_unbind_ext( msc->msc_ld, NULL, NULL );
msc->msc_ld = NULL;
ldap_ld_free( msc->msc_ldr, 0, NULL, NULL );
@ -1140,7 +1086,7 @@ asyncmeta_reset_msc(
}
if (msc->msc_active <= 1 && mc->mc_active < 1) {
bm_context_t *om;
asyncmeta_clear_one_msc(NULL, mc, candidate, 0, caller);
asyncmeta_clear_one_msc(mc->mc_info->mi_targets[candidate], msc, caller);
/* set whatever's in the queue to invalid, so the timeout loop cleans it up,
* but do not invalidate the current op*/
LDAP_STAILQ_FOREACH( om, &mc->mc_om_list, bc_next ) {

View file

@ -205,7 +205,7 @@ asyncmeta_back_delete( Operation *op, SlapReply *rs )
}
candidates = bc->candidates;
mc = asyncmeta_getconn( op, rs, candidates, &candidate, LDAP_BACK_DONTSEND, 0);
mc = asyncmeta_getconn( op, rs, candidates, &candidate, 0);
if ( !mc || rs->sr_err != LDAP_SUCCESS) {
send_ldap_result(op, rs);
return rs->sr_err;

View file

@ -318,7 +318,7 @@ asyncmeta_back_clear_miconns( a_metainfo_t *mi )
for (i = 0; i < mi->mi_num_conns; i++) {
mc = &mi->mi_conns[i];
for (j = 0; j < mi->mi_ntargets; j ++) {
asyncmeta_clear_one_msc(NULL, mc, j, 1, __FUNCTION__);
asyncmeta_clear_one_msc(NULL, &mc->mc_conns[j], __FUNCTION__);
}
if ( mc->mc_conns )

View file

@ -1393,7 +1393,8 @@ asyncmeta_op_read_error(a_metaconn_t *mc, int candidate, int error, void* ctx)
ldap_pvt_thread_mutex_lock( &mc->mc_om_mutex );
/*someone may be trying to write */
if (mc->mc_conns[candidate].msc_active <= 1) {
asyncmeta_clear_one_msc(NULL, mc, candidate, 0, __FUNCTION__);
asyncmeta_clear_one_msc( mc->mc_info->mi_targets[candidate],
&mc->mc_conns[candidate], __FUNCTION__);
} else {
META_BACK_CONN_INVALID_SET(&mc->mc_conns[candidate]);
}
@ -1822,7 +1823,7 @@ void* asyncmeta_timeout_loop(void *ctx, void *arg)
}
current_time = slap_get_time();
if (msc->msc_ld && msc->msc_time > 0 && msc->msc_time + mi->mi_idle_timeout < current_time) {
asyncmeta_clear_one_msc(NULL, mc, j, 1, __FUNCTION__);
asyncmeta_clear_one_msc(mi->mi_targets[j], msc, __FUNCTION__);
}
}
}

View file

@ -261,7 +261,7 @@ asyncmeta_back_modify( Operation *op, SlapReply *rs )
}
candidates = bc->candidates;
mc = asyncmeta_getconn( op, rs, candidates, &candidate, LDAP_BACK_DONTSEND, 0);
mc = asyncmeta_getconn( op, rs, candidates, &candidate, 0);
if ( !mc || rs->sr_err != LDAP_SUCCESS) {
send_ldap_result(op, rs);
return rs->sr_err;

View file

@ -275,7 +275,7 @@ asyncmeta_back_modrdn( Operation *op, SlapReply *rs )
}
candidates = bc->candidates;
mc = asyncmeta_getconn( op, rs, candidates, &candidate, LDAP_BACK_DONTSEND, 0);
mc = asyncmeta_getconn( op, rs, candidates, &candidate, 0);
if ( !mc || rs->sr_err != LDAP_SUCCESS) {
send_ldap_result(op, rs);
return rs->sr_err;

View file

@ -710,7 +710,7 @@ asyncmeta_back_search( Operation *op, SlapReply *rs )
}
candidates = bc->candidates;
mc = asyncmeta_getconn( op, rs, candidates, NULL, LDAP_BACK_DONTSEND, 0);
mc = asyncmeta_getconn( op, rs, candidates, NULL, 0);
if ( !mc || rs->sr_err != LDAP_SUCCESS) {
send_ldap_result(op, rs);
return rs->sr_err;