]> git.sur5r.net Git - openldap/commitdiff
ITS#7019 fix dsa-specific attr check for Persist updates
authorHoward Chu <hyc@openldap.org>
Mon, 7 Nov 2011 23:23:58 +0000 (15:23 -0800)
committerHoward Chu <hyc@openldap.org>
Mon, 7 Nov 2011 23:25:07 +0000 (15:25 -0800)
servers/slapd/overlays/syncprov.c
servers/slapd/result.c

index e5bedd4690562eeeed6b989e839ebf0a5158c8fb..d49a3113f1bdbe96d78899e124e1d583bbf33568 100644 (file)
@@ -991,6 +991,7 @@ syncprov_qtask( void *ctx, void *arg )
        op->o_hdr = &opbuf.ob_hdr;
        op->o_controls = opbuf.ob_controls;
        memset( op->o_controls, 0, sizeof(opbuf.ob_controls) );
+       op->o_sync = SLAP_CONTROL_IGNORED;
 
        *op->o_hdr = *so->s_op->o_hdr;
 
index 1e8d40622382ff2b8eb75f39e1a74b7039bd5725..8fa6cdda406d90c253eff87b4fac0f6a5b634369 100644 (file)
@@ -1303,6 +1303,10 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
                                {
                                        continue;
                                }
+                               /* if DSA-specific and replicating, skip */
+                               if ( op->o_sync != SLAP_CONTROL_NONE &&
+                                       desc->ad_type->sat_usage == LDAP_SCHEMA_DSA_OPERATION )
+                                       continue;
                        } else {
                                if ( !userattrs && !ad_inlist( desc, rs->sr_attrs ) ) {
                                        continue;