]> git.sur5r.net Git - openldap/commitdiff
More for ITS#6608
authorQuanah Gibson-Mount <quanah@openldap.org>
Sun, 12 Dec 2010 01:51:45 +0000 (01:51 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Sun, 12 Dec 2010 01:51:45 +0000 (01:51 +0000)
servers/slapd/overlays/accesslog.c
servers/slapd/overlays/ppolicy.c

index aa165b7d0cecc46c06fb5464741d12147ad34d1e..4f4bbafafa9341e7daa34299098d4616508d1462 100644 (file)
@@ -1377,6 +1377,11 @@ static int accesslog_response(Operation *op, SlapReply *rs) {
 
        if ( lo->mask & LOG_OP_WRITES ) {
                slap_callback *cb;
+
+               /* These internal ops are not logged */
+               if ( op->o_dont_replicate && op->orm_no_opattrs )
+                       return SLAP_CB_CONTINUE;
+
                ldap_pvt_thread_mutex_lock( &li->li_log_mutex );
                old = li->li_old;
                li->li_old = NULL;
@@ -1758,6 +1763,10 @@ accesslog_op_mod( Operation *op, SlapReply *rs )
        slap_overinst *on = (slap_overinst *)op->o_bd->bd_info;
        log_info *li = on->on_bi.bi_private;
 
+       /* These internal ops are not logged */
+       if ( op->o_dont_replicate && op->orm_no_opattrs )
+               return SLAP_CB_CONTINUE;
+
        if ( li->li_ops & LOG_OP_WRITES ) {
                slap_callback *cb = op->o_tmpalloc( sizeof( slap_callback ), op->o_tmpmemctx ), *cb2;
                cb->sc_cleanup = accesslog_mod_cleanup;
index f34c442019af64a922bc7240f90edec33a60cb8f..4064d003a2c7cbef877790a122e0207aca58381f 100644 (file)
@@ -1161,9 +1161,11 @@ locked:
                        c.ldctl_iscritical = 1;
                        c.ldctl_oid = LDAP_CONTROL_RELAX;
                } else {
-                       /* If not forwarding, don't update opattrs */
-                       if ( SLAP_SINGLE_SHADOW( op->o_bd ))
+                       /* If not forwarding, don't update opattrs and don't replicate */
+                       if ( SLAP_SINGLE_SHADOW( op->o_bd )) {
                                op2.orm_no_opattrs = 1;
+                               op2.o_dont_replicate = 1;
+                       }
                        op2.o_bd->bd_info = (BackendInfo *)on->on_info;
                }
                rc = op2.o_bd->be_modify( &op2, &r2 );