]> git.sur5r.net Git - openldap/commitdiff
ITS#5432 don't send cookie with delete set if there's no true delete CSN
authorHoward Chu <hyc@openldap.org>
Fri, 21 Mar 2008 00:09:24 +0000 (00:09 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 21 Mar 2008 00:09:24 +0000 (00:09 +0000)
servers/slapd/overlays/syncprov.c

index 0bc2d38063337c6b1413200af48c981b2f680372..74d841b8bf33d67ed67a4ac70ea9e0d2650628d1 100644 (file)
@@ -1555,13 +1555,16 @@ syncprov_playlog( Operation *op, SlapReply *rs, sessionlog *sl,
        if ( ndel ) {
                struct berval cookie;
 
-               slap_compose_sync_cookie( op, &cookie, delcsn, srs->sr_state.rid,
-                       srs->sr_state.sid );
+               if ( delcsn[0].bv_len ) {
+                       slap_compose_sync_cookie( op, &cookie, delcsn, srs->sr_state.rid,
+                               srs->sr_state.sid );
+               }
 
                Debug( LDAP_DEBUG_SYNC, "syncprov_playlog: cookie=%s\n", cookie.bv_val, 0, 0 );
 
                uuids[ndel].bv_val = NULL;
-               syncprov_sendinfo( op, rs, LDAP_TAG_SYNC_ID_SET, &cookie, 0, uuids, 1 );
+               syncprov_sendinfo( op, rs, LDAP_TAG_SYNC_ID_SET,
+                       delcsn[0].bv_len ? &cookie : NULL, 0, uuids, 1 );
                op->o_tmpfree( cookie.bv_val, op->o_tmpmemctx );
        }
        op->o_tmpfree( uuids, op->o_tmpmemctx );