zep-openldap-software(a)ni.enate.org wrote:
For an application which specifies LDAP_NO_ATTRS to the attributes
parameter of
ldap_search_st(), it seems not possible to cache its results using
slapo-pcache.
It would be great to be able to define within "overlay pcache", something
like:
proxyattrset 0 (1.1)
or, simply
proxyattrset 0
Which would match queries which provide LDAP_NO_ATTRS. This would allow the
ability to cache responses for routines which are interested only in the
presence of a result set, but not in the contents of that set, without the
additional overhead of trasnferring the result.
I believe there's something odd in pcache's current behavior. In fact,
right now "proxyattrset 0" is already a valid directive, but it implies
"proxyattrset 0 *", which means all attributes. Unfortunately, this
seems to only work if no attribute is requested, while it fails if a "*"
is explicitly requested.
I've modified the propxycache code in HEAD so that a "1.1" can only
explicitly appear in a list if it's the only string. An empty attribute
set is no longer valid, to avoid confusion about the meaning of
non-explicit attribute sets. A "*" or a "+" can explicitly appear in
a
proxyattrset statement, resulting in the expected behavior. Use both to
indicate that all attributes are in the set.
Please test.
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
Email: pierangelo.masarati(a)sys-net.it
---------------------------------------