]> git.sur5r.net Git - openldap/commitdiff
ITS#5564 ignore clients contextCSN when doing full reload.
authorRein Tollevik <rein@openldap.org>
Wed, 18 Jun 2008 19:38:39 +0000 (19:38 +0000)
committerRein Tollevik <rein@openldap.org>
Wed, 18 Jun 2008 19:38:39 +0000 (19:38 +0000)
servers/slapd/overlays/syncprov.c

index e6e2161e447abcc7d4c625ce29e7f44a45f56aba..80fd2774c291d5a8f82efae4581a0beef63d4525 100644 (file)
@@ -2323,6 +2323,15 @@ no_change:               if ( !(op->o_sync_mode & SLAP_SYNC_PERSIST) ) {
                                send_ldap_error( op, rs, LDAP_SYNC_REFRESH_REQUIRED, "sync cookie is stale" );
                                return rs->sr_err;
                        }
+                       if ( srs->sr_state.ctxcsn ) {
+                               ber_bvarray_free_x( srs->sr_state.ctxcsn, op->o_tmpmemctx );
+                               srs->sr_state.ctxcsn = NULL;
+                       }
+                       if ( srs->sr_state.sids ) {
+                               slap_sl_free( srs->sr_state.sids, op->o_tmpmemctx );
+                               srs->sr_state.sids = NULL;
+                       }
+                       srs->sr_state.numcsns = 0;
                } else {
                        gotstate = 1;
                        /* If changed and doing Present lookup, send Present UUIDs */