[Pkg-openldap-devel] Bug#497697: Bug#497697: closed by Steve Langasek <vorlon at debian.org> (Re: Bug#497697: slapd - pcache does not return cached entries [FIXED])
Pierangelo Masarati
ando at sys-net.it
Wed Sep 3 22:59:46 UTC 2008
Bastian Blank wrote:
> On Wed, Sep 03, 2008 at 03:00:59PM -0700, Quanah Gibson-Mount wrote:
>>> This is fixed upstream, and will be in OpenLDAP 2.4.12.
>> Or to be more concise, the documentation has been updated for
>> slapd-ldap(5) and slapd-meta(5) to more clearly note the requirement for
>> the schema info, etc.
>
> The ldap backend works fine even if the schema entries are missing and
> it only have to push the data through to the client. (It looks a little
> bit weird, well.)
Not entirely true: you can't use undefined attributes/objectClasses in
filters or in request DN (and, I guess, in any schema-related request
bit). If any undefined schema item appears in the response, it gets
mapped as "proxied", which means it remains dangling (no syntax, no
matching rules, no inheritance).
> For the pcache overlay it seems to be a "must" to have all object
> classes available which may ever show up. And this needs to be
> documented there.
In the given case, as far as I could tell, since the proxy template was
(objectClass=), the local database is being searched for values of the
objectClass attribute. An undefined objectClass causes the local search
to fail.
> Anyway, may it possible to filter all unknown attributes/objectclasses
> in the ldap backend at once?
Yes and no. It used to be like that, but since users requested for as
much data as possible to be returned, the "proxied" feature was added.
Perhaps it should be optional. Consider that without that feature, you
wouldn't get anything from the proxy, which sounds a bit radical. The
cache needs to be stricter than the proxy since it needs to perform
essential schema-related operations on data, like searching for cached
entries. Hence, the different requirements on the schema.
>> Other fixes for slapo-pcache behavior when things are misconfigured may
>> be made, but that has not yet happened.
>
> IMHO it have to ignore the complete local search result if it gets
> unexpected errors from a match function.
The patch I just committed does exactly that: as soon as an entry,
within a query response, would not match the filter when applied
locally, the entire query is not catched. This causes a little
performance degradation because the filter also needs to be applied by
the proxy. The query will always be answered resorting to the remote
server, unless the proxy administrator fixes the schema.
p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497
Email: ando at sys-net.it
-----------------------------------
More information about the Pkg-openldap-devel
mailing list