ITS#9953 Check for push replication

This commit is contained in:
Ondřej Kuzník 2023-02-16 14:50:43 +00:00 committed by Quanah Gibson-Mount
parent 12ff3a90d4
commit 2a5eff41b0
4 changed files with 9 additions and 13 deletions

View file

@ -282,9 +282,7 @@ variant_op_add( Operation *op, SlapReply *rs )
variantEntry_info *vei;
int rc;
/* Replication always uses the rootdn */
if ( ov->passReplication && SLAPD_SYNC_IS_SYNCCONN(op->o_connid) &&
be_isroot( op ) ) {
if ( ov->passReplication && be_shadow_update( op ) ) {
return SLAP_CB_CONTINUE;
}
@ -431,9 +429,7 @@ variant_op_mod( Operation *op, SlapReply *rs )
regmatch_t pmatch[10];
int rc, nmatch = sizeof(pmatch) / sizeof(regmatch_t);
/* Replication always uses the rootdn */
if ( ov->passReplication && SLAPD_SYNC_IS_SYNCCONN(op->o_connid) &&
be_isroot( op ) ) {
if ( ov->passReplication && be_shadow_update( op ) ) {
return SLAP_CB_CONTINUE;
}

View file

@ -816,7 +816,7 @@ constraint_add( Operation *op, SlapReply *rs )
int rc = 0;
char *msg = NULL;
if (get_relax(op) || SLAPD_SYNC_IS_SYNCCONN( op->o_connid )) {
if ( get_relax(op) || be_shadow_update( op ) ) {
return SLAP_CB_CONTINUE;
}
@ -958,7 +958,7 @@ constraint_update( Operation *op, SlapReply *rs )
char *msg = NULL;
int is_v;
if (get_relax(op) || SLAPD_SYNC_IS_SYNCCONN( op->o_connid )) {
if ( get_relax(op) || be_shadow_update( op ) ) {
return SLAP_CB_CONTINUE;
}

View file

@ -2504,7 +2504,7 @@ ppolicy_add(
return rs->sr_err;
/* If this is a replica, assume the provider checked everything */
if ( SLAPD_SYNC_IS_SYNCCONN( op->o_connid ) )
if ( be_shadow_update( op ) )
return SLAP_CB_CONTINUE;
ppolicy_get( op, op->ora_e, &pp );
@ -2674,7 +2674,7 @@ ppolicy_modify( Operation *op, SlapReply *rs )
/* If this is a replica, we may need to tweak some of the
* provider's modifications. Otherwise, just pass it through.
*/
if ( SLAPD_SYNC_IS_SYNCCONN( op->o_connid ) ) {
if ( be_shadow_update( op ) ) {
Modifications **prev;
Attribute *a_grace, *a_lock, *a_fail, *a_success;

View file

@ -1077,7 +1077,7 @@ unique_add(
Debug(LDAP_DEBUG_TRACE, "==> unique_add <%s>\n",
op->o_req_dn.bv_val );
if ( SLAPD_SYNC_IS_SYNCCONN( op->o_connid ) || (
if ( be_shadow_update( op ) || (
get_relax(op) > SLAP_CONTROL_IGNORED
&& access_allowed( op, op->ora_e,
slap_schema.si_ad_entry, NULL,
@ -1229,7 +1229,7 @@ unique_modify(
return rc;
}
if ( SLAPD_SYNC_IS_SYNCCONN( op->o_connid ) ) {
if ( be_shadow_update( op ) ) {
return rc;
}
if ( get_relax(op) > SLAP_CONTROL_IGNORED
@ -1369,7 +1369,7 @@ unique_modrdn(
Debug(LDAP_DEBUG_TRACE, "==> unique_modrdn <%s> <%s>\n",
op->o_req_dn.bv_val, op->orr_newrdn.bv_val );
if ( SLAPD_SYNC_IS_SYNCCONN( op->o_connid ) ) {
if ( be_shadow_update( op ) ) {
return rc;
}
if ( get_relax(op) > SLAP_CONTROL_IGNORED