[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: commit: ldap/servers/slapd slap.h controls.c

I think this change should be backed out.  The specification
here is flawed here for a number of reasons.  First, because
completely ignoring such a pagedresult control can lead to
masking of other errors, such as protocol errors due to
attachment of two pagedresult controls to the request.
Second, because the control should not be ignored when
pagedresults == sizelimit because this won't produce
a sizeLimitExceeded error.  Also, pagedresults of zero
(0) should not be ignored.

The specification should have just noted that when the
page size is positive but less than sizeLimit, the
sizeLimit will exceeded before generation of a page.
In such cases, the server is to sizeLimitExceeded should
be returned (without a pagedResultsControl).

 From the client's perspective, this is as if the request
control had been ignored.  However, the server should
do other control processing.

Also note that RFC is unclear as to whether the response
control should be returned when errors are detected.
In general, I think the response control should only
be attached when the search is success-ful (including
when size=0).


At 08:37 AM 6/12/2004, ando@OpenLDAP.org wrote:
>Update of /repo/OpenLDAP/pkg/ldap/servers/slapd
>Modified Files:
>        slap.h  1.549 -> 1.550
>        controls.c  1.103 -> 1.104
>Log Message:
>ignore the control if page is larger than requested sizelimit (as per RFC)
>CVS Web URLs:
>  http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/
>    http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/slap.h
>    http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/controls.c
>Changes are generally available on cvs.openldap.org (and CVSweb)
>within 30 minutes of being committed.