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

Re: retrieve all entries of a search

Francois Beretti wrote:

Hi Pierangelo

Pierangelo Masarati wrote:

In 2.2 you can specify limits based on the identity that's requesting the search; these limits include "unlimited". See "limits" in slapd.conf(5).

Thank you, but I don't want to have to modify the server configuration. Actually I am writing software that has to be installed on the customer's network, and if every application using LDAP has to modify the server's configuration, I don't want to be the administrator...
Moreover, even if not every user has to be able to retrieve all the entries of a search result, I can't know who will have to be.

Note that pagedResults doesn't implicitly mean you can get all the entries. In fact, the usual size limits apply to search results as a whole, regardless of data being returned in just one bloack or in paged chunks. However, slapd allows to set different limits for paged results searches (including unlimited number of results). In your case, you may want to set a certain limit (e.g. the default) for regular searches, and unlimited (or at least a higher value) for paged results. The "limits" statement on slapd.conf(5) contains details about the syntax.

Extended Control paged results is supported by OpenLDAP
ldapsearch -Epr=<n>

... since 2.1; there were selected bugs which were fixed in 2.2 at some point.

I am sorry, I thought it was not implemented.
Where can I find a documentation about how to use the C API to implement this on an LDAP client ?

It's implemented in ldapsearch.c; look at that code, it should be quite clear.

Just to get all the information I need, with the former versions, was it possible to retrieve the complet result of a search without using paged search, and without an unlimited size ?

Clients by no means can work around server limitations (except by binding as rootdn) so I don't think you can obtain what you want using older versions of either slapd or the client library. Note, however, that you can use the pagedresults control with older libraries, provided they support controls.


   SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497