From: Howard Chu Date: Wed, 9 Apr 2008 03:12:47 +0000 (+0000) Subject: ITS#5409 fix from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_3_42~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b32bb6e2da1856a0a1325f7fb83a75b2135701a4;p=thirdparty%2Fopenldap.git ITS#5409 fix from HEAD --- diff --git a/servers/slapd/back-bdb/search.c b/servers/slapd/back-bdb/search.c index 880c091fcf..c11439ef60 100644 --- a/servers/slapd/back-bdb/search.c +++ b/servers/slapd/back-bdb/search.c @@ -1221,20 +1221,6 @@ parse_paged_cookie( Operation *op, SlapReply *rs ) goto done; } - } else { - /* Initial request. Initialize state. */ -#if 0 - if ( op->o_conn->c_pagedresults_state.ps_cookie != 0 ) { - /* There's another pagedResults control on the - * same connection; reject new pagedResults controls - * (allowed by RFC2696) */ - rs->sr_text = "paged results cookie unavailable; try later"; - rc = LDAP_UNWILLING_TO_PERFORM; - goto done; - } -#endif - ps->ps_cookie = 0; - ps->ps_count = 0; } done:; diff --git a/servers/slapd/controls.c b/servers/slapd/controls.c index 59057d8b1c..ad36d014bd 100644 --- a/servers/slapd/controls.c +++ b/servers/slapd/controls.c @@ -1001,6 +1001,10 @@ static int parsePagedResults ( *ps = op->o_conn->c_pagedresults_state; ps->ps_size = size; op->o_pagedresults_state = ps; + if ( !cookie.bv_len ) { + ps->ps_count = 0; + ps->ps_cookie = 0; + } /* NOTE: according to RFC 2696 3.: