]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/refint.c
ITS#7710 fix for non-replicated internal ops
[openldap] / servers / slapd / overlays / refint.c
index ee7b326091da8782f88c5a42deeb9d483f986aa7..4f7a3f6e4575a58b1c78c1bff3a8f116e0320ff5 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2004-2012 The OpenLDAP Foundation.
+ * Copyright 2004-2013 The OpenLDAP Foundation.
  * Portions Copyright 2004 Symas Corporation.
  * All rights reserved.
  *
@@ -527,6 +527,7 @@ refint_repair(
        dependent_data  *dp;
        SlapReply               rs = {REP_RESULT};
        Operation               op2;
+       unsigned long   opid;
        int             rc;
 
        op->o_callback->sc_response = refint_search_cb;
@@ -565,6 +566,7 @@ refint_repair(
         *
         */
 
+       opid = op2.o_opid;
        op2 = *op;
        for ( dp = rq->attrs; dp; dp = dp->next ) {
                SlapReply       rs2 = {REP_RESULT};
@@ -587,6 +589,7 @@ refint_repair(
                /* Internal ops, never replicate these */
                op2.orm_no_opattrs = 1;
                op2.o_dont_replicate = 1;
+               op2.o_opid = 0;
 
                /* Set our ModifiersName */
                if ( SLAP_LASTMOD( op->o_bd ) ) {
@@ -686,6 +689,7 @@ refint_repair(
                        op2.o_tmpfree( m, op2.o_tmpmemctx );
                }
        }
+       op2.o_opid = opid;
 
        return 0;
 }