ITS#9742 Reject a refresh if we can't do a precise resync

This commit is contained in:
Ondřej Kuzník 2021-11-10 12:20:27 +00:00 committed by Quanah Gibson-Mount
parent af2f89102e
commit c51320a6f6

View File

@ -3231,8 +3231,15 @@ syncprov_op_search( Operation *op, SlapReply *rs )
if (srs->sr_state.numcsns != numcsns) {
/* consumer doesn't have the right number of CSNs */
Debug( LDAP_DEBUG_SYNC, "%s syncprov_op_search: "
"consumer cookie is missing a csn we track\n",
op->o_log_prefix );
"consumer cookie is missing a csn we track%s\n",
op->o_log_prefix, si->si_nopres ? ", rejecting" : "" );
if ( si->si_nopres ) {
rs->sr_err = LDAP_SYNC_REFRESH_REQUIRED;
rs->sr_text = "not enough information to resync, please use other means";
goto bailout;
}
changed = SS_CHANGED;
if ( srs->sr_state.ctxcsn ) {
ber_bvarray_free_x( srs->sr_state.ctxcsn, op->o_tmpmemctx );