Fixed slapo-syncprov deadlock (ITS#6335)
Fixed slapo-syncprov memory leak (ITS#6376)
Fixed slapo-syncprov out of order changes (ITS#6346)
+ Fixed slapo-syncprov psearch with stale cookie (ITS#6397)
Build Environment
Added additional operations for ITS#6332
Fixed memrchr define (ITS#6351)
changed = SS_CHANGED;
else if ( newer > 0 ) {
/* our state is older, tell consumer nothing */
+ rs->sr_err = LDAP_SUCCESS;
+bailout:
if ( sop ) {
syncops **sp = &si->si_ops;
ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex );
ch_free( sop );
}
- rs->sr_err = LDAP_SUCCESS;
rs->sr_ctrls = NULL;
send_ldap_result( op, rs );
return rs->sr_err;
ber_bvarray_free_x( ctxcsn, op->o_tmpmemctx );
if ( sids )
op->o_tmpfree( sids, op->o_tmpmemctx );
- send_ldap_error( op, rs, LDAP_SYNC_REFRESH_REQUIRED, "sync cookie is stale" );
- return rs->sr_err;
+ rs->sr_err = LDAP_SYNC_REFRESH_REQUIRED;
+ rs->sr_text = "sync cookie is stale";
+ goto bailout;
}
if ( srs->sr_state.ctxcsn ) {
ber_bvarray_free_x( srs->sr_state.ctxcsn, op->o_tmpmemctx );
ber_bvarray_free_x( ctxcsn, op->o_tmpmemctx );
if ( sids )
op->o_tmpfree( sids, op->o_tmpmemctx );
- send_ldap_result( op, rs );
- return rs->sr_err;
+ goto bailout;
}
}
} else {