ITS#9647 Treat glue entries as missing

We're using MANAGE_DSAIT control so we get to see them, but they don't
really exist (except for their CSN sometimes).
This commit is contained in:
Ondřej Kuzník 2021-10-13 16:11:43 +01:00 committed by Quanah Gibson-Mount
parent 8d514517cc
commit e8f1038de0
2 changed files with 9 additions and 1 deletions

View File

@ -1411,7 +1411,8 @@ syncprov_matchops( Operation *op, opcookie *opc, int saveit )
}
}
if ( fc.fscope ) {
rc = LDAP_COMPARE_FALSE;
if ( !is_entry_glue( e ) && fc.fscope ) {
ldap_pvt_thread_mutex_lock( &ss->s_mutex );
op2 = *ss->s_op;
oh = *op->o_hdr;
@ -2949,6 +2950,9 @@ syncprov_search_response( Operation *op, SlapReply *rs )
"bogus referral in context\n", op->o_log_prefix );
return SLAP_CB_CONTINUE;
}
if ( is_entry_glue( rs->sr_entry ) ) {
return LDAP_SUCCESS;
}
a = attr_find( rs->sr_entry->e_attrs, slap_schema.si_ad_entryCSN );
if ( a == NULL && rs->sr_operational_attrs != NULL ) {
a = attr_find( rs->sr_operational_attrs, slap_schema.si_ad_entryCSN );

View File

@ -5719,6 +5719,10 @@ nonpresent_callback(
if ( a == NULL ) return 0;
}
if ( is_entry_glue( rs->sr_entry ) ) {
return LDAP_SUCCESS;
}
if ( present_uuid == NULL ) {
int covered = 1; /* covered by our new contextCSN? */