X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Foverlays%2Frefint.c;h=ee7b326091da8782f88c5a42deeb9d483f986aa7;hb=9547dd7a0d9fd079e6e75fb59b20a2fc661c9782;hp=cc5335b6a27487f2943382c89885f8a0d2b28c0c;hpb=13f52646b26e3afbb16e78c2487f19f7854a9180;p=openldap diff --git a/servers/slapd/overlays/refint.c b/servers/slapd/overlays/refint.c index cc5335b6a2..ee7b326091 100644 --- a/servers/slapd/overlays/refint.c +++ b/servers/slapd/overlays/refint.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2010 The OpenLDAP Foundation. + * Copyright 2004-2012 The OpenLDAP Foundation. * Portions Copyright 2004 Symas Corporation. * All rights reserved. * @@ -526,6 +526,7 @@ refint_repair( { dependent_data *dp; SlapReply rs = {REP_RESULT}; + Operation op2; int rc; op->o_callback->sc_response = refint_search_cb; @@ -564,18 +565,14 @@ refint_repair( * */ + op2 = *op; for ( dp = rq->attrs; dp; dp = dp->next ) { - Operation op2 = *op; SlapReply rs2 = {REP_RESULT}; refint_attrs *ra; Modifications *m; if ( dp->attrs == NULL ) continue; /* TODO: Is this needed? */ - op2.o_tag = LDAP_REQ_MODIFY; - op2.orm_modlist = NULL; - op2.o_req_dn = dp->dn; - op2.o_req_ndn = dp->ndn; op2.o_bd = select_backend( &dp->ndn, 1 ); if ( !op2.o_bd ) { Debug( LDAP_DEBUG_TRACE, @@ -583,6 +580,13 @@ refint_repair( dp->dn.bv_val, 0, 0 ); continue; } + op2.o_tag = LDAP_REQ_MODIFY; + op2.orm_modlist = NULL; + op2.o_req_dn = dp->dn; + op2.o_req_ndn = dp->ndn; + /* Internal ops, never replicate these */ + op2.orm_no_opattrs = 1; + op2.o_dont_replicate = 1; /* Set our ModifiersName */ if ( SLAP_LASTMOD( op->o_bd ) ) { @@ -670,7 +674,6 @@ refint_repair( op2.o_dn = op2.o_bd->be_rootdn; op2.o_ndn = op2.o_bd->be_rootndn; - slap_op_time( &op2.o_time, &op2.o_tincr ); rc = op2.o_bd->be_modify( &op2, &rs2 ); if ( rc != LDAP_SUCCESS ) { Debug( LDAP_DEBUG_TRACE,