]> git.sur5r.net Git - openldap/commitdiff
ITS#5211 spec says we must ignore invalid cookies
authorHoward Chu <hyc@openldap.org>
Sun, 4 Nov 2007 12:34:41 +0000 (12:34 +0000)
committerHoward Chu <hyc@openldap.org>
Sun, 4 Nov 2007 12:34:41 +0000 (12:34 +0000)
servers/slapd/overlays/syncprov.c

index 950f3b30a35b3c70487b9cdf0797a98440fd12fc..0a443bd9a16c1411a86c6dae98265e01bbcacd57 100644 (file)
@@ -2840,10 +2840,14 @@ static int syncprov_parseCtrl (
        sr->sr_rhint = rhint;
        if (!BER_BVISNULL(&cookie)) {
                ber_dupbv_x( &sr->sr_state.octet_str, &cookie, op->o_tmpmemctx );
+               /* If parse fails, pretend no cookie was sent */
                if ( slap_parse_sync_cookie( &sr->sr_state, op->o_tmpmemctx ) ||
                        sr->sr_state.rid == -1 ) {
-                       rs->sr_text = "Sync control : cookie parsing error";
-                       return LDAP_PROTOCOL_ERROR;
+                       if ( sr->sr_state.ctxcsn ) {
+                               ber_bvarray_free_x( sr->sr_state.ctxcsn, op->o_tmpmemctx );
+                               sr->sr_state.ctxcsn = NULL;
+                       }
+                       sr->sr_state.numcsns = 0;
                }
        }