[Date Prev][Date Next]
Re: SUMMARY: Re: cachesize does not exceed 1000 entries
--On Saturday, September 03, 2005 7:12 AM +0530 Sameer N Ingole
Robert Petkus wrote:
I finally found the problem after much frustration --> Solaris. Once
I tried the same query on Linux and was able to retrieve >1000 entries
I figured the problem was with the ldap client on Solaris.
Looking in the logs, Solaris was using paged results from back-bdb.
When doing an ldap query that consults nss_ldap such as "finger",
libsldap.so is hard-coded with a LISTPAGESIZE of 1000 (see
ternal.h). I grabbed source for libldap from openSolaris.org,
increased the pagesize limit, and hacked it so it would work on Solaris
9 and lo and behold it worked -- I was able to to retrieve >1000
However, I didn't feel comfortable putting my hacked libraries on
production Solaris servers so I stripped all the pagedresults controls
from back-bdb/search.c and this worked, too, with default Solaris.
This is how I'm going to leave the system for now.
Is it possible to request greater freedom over these controls (e.g.,
pagedresults) in a future version of openldap?
Yes, file an ITS. Request feature. Refer to Openldap web site.
I fail to see how filing an ITS is going to fix a hard coded limit in the
Solaris code. If the Solaris code is quite clearly requesting a control,
and limiting it to 1k entries, then OpenLDAP is simply doing what as
requested of it. There is no bug in the OpenLDAP code here, so really no
issue to file an ITS about. Solaris is what is broken. What essentially
is being asked here is to tell OpenLDAP to *ignore* a requested control,
which would be very broken behavior.
Principal Software Developer
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html
"These censorship operations against schools and libraries are stronger
than ever in the present religio-political climate. They often focus on
fantasy and sf books, which foster that deadly enemy to bigotry and blind
faith, the imagination." -- Ursula K. Le Guin